情况:
我有AlertDialog
其中inside是EditText
,其中我保存了一个可以使用SharedPreferences
调用的值。当我打开对话框并在EditText
中写入时,该值显示在TextView
中。
问题:
仅当我从应用程序退出并且我打开它时,TextView
才会更改该值。我如何才能更新价值?当我在对话框中单击“确定”时,我的意思是。
Dialog代码的一部分:
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
value = input.getText().toString();
SharedPreferences sp = getSharedPreference("MyKey",0);
SharedPreferences.Editor preferencesEditor = sp.edit();
preferencesEditor.putString("tag", value);
preferencesEditor.commit();
}
});
并在onCreate方法中:
SharedPreferences sp = getSharedPreference("MyKey",0);
String data = sp.getString("tag","");
txt.setText(data);
点击txt
TextView对话框的“确定”后,我需要更新。感谢
答案 0 :(得分:3)
从EditText
获取值,并将文本设置为Textview
,直接如下:
text_view.setText(edit_text.getText.toString());
Dialog Button onClick()
中的
答案 1 :(得分:0)
如果你谷歌这样的东西“TextView没有在Android中更新”你会看到很多问题由用户发布。即使我不知道为什么,但它已经发生在很多开发者身上。你所能做的就是关注这个代码,它会正常工作。
runOnUiThread(new Runnable() {
@Override
public void run() {
TextView.setText(someValue);
}
});
答案 2 :(得分:0)
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
value = input.getText().toString();
txt.setText(value);
SharedPreferences sp = getSharedPreference("MyKey",0);
SharedPreferences.Editor preferencesEditor = sp.edit();
preferencesEditor.putString("tag", value);
preferencesEditor.commit();
}
});