我展示了一个对话框,用户可以在其中在Edittext中输入一个String值,并且我想在关闭该对话框后在主布局的textview中显示该值。当用户单击对话框的“确定”按钮时,文本视图会很好地刷新,但是我尝试通过关闭对话框中的关闭监听器来进行相同的操作,但我知道其余的代码都在运行。我试图使其在主线程上运行,但没有解决问题。这是代码,感谢您的帮助。
final Dialog dialogStatus = new Dialog(Activity.this);
dialogStatus.setContentView(R.layout.dialog_layout);
Button Bok = (Button) dialogStatus.findViewById(R.id.bt_dialog_ok);
final EditText ETname = (EditText) dialogStatus.findViewById(R.id.et_dialog);
Bok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
update(String.valueOf(ETname.getText()));
dialogStatus.dismiss();
}
});
dialogStatus.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
// TODO Auto-generated method stub
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
update(String.valueOf(ETname.getText()));
}
});
}
});
dialogStatus.show();
}
public void update(String etValue){
final SharedPreferences sharedPrefUnit = getSharedPreferences(SHARED_PREFS, 0);
SharedPreferences.Editor settings = getSharedPreferences(SHARED_PREFS, MODE_PRIVATE).edit();
settings.putString(STRING_VALUE, etValue);
TextView.setText(sharedPrefUnitScore.getString(STRING_VALUE, etValue, ""));
settings.commit();
}
public void update(String etValue){
final SharedPreferences sharedPrefUnit = getSharedPreferences(SHARED_PREFS, 0);
SharedPreferences.Editor settings = getSharedPreferences(SHARED_PREFS, MODE_PRIVATE).edit();
settings.putString(STRING_VALUE, etValue);
settings.commit();
TextView.setText(etValue);
}
因为您在提交之前试图从共享首选项中获取值。如果您不提交,那么它将不会保存。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句