TextView暂时不刷新

时间:2014-03-07 10:42:48

标签: java android refresh android-edittext textview

情况: 我有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对话框的“确定”后,我需要更新。感谢

3 个答案:

答案 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();    
    }
});