Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在运行时在textview中更改了文本,但在重新启动应用程序后在android中检索textview中的默认数据_Android_Android Edittext_Sharedpreferences_Textview - Fatal编程技术网

在运行时在textview中更改了文本,但在重新启动应用程序后在android中检索textview中的默认数据

在运行时在textview中更改了文本,但在重新启动应用程序后在android中检索textview中的默认数据,android,android-edittext,sharedpreferences,textview,Android,Android Edittext,Sharedpreferences,Textview,我使用共享首选项存储来自EditText的数据,并将首选项数据设置回TextView,但当我重新打开应用程序时,TextView显示默认值。如何将更改后的数据设置为TextView,并且在重新打开应用程序后数据不应丢失。我尝试了onSaveInstanceState和onSaveInstanceState,但当应用程序的方向发生变化时,这会起作用 在我的代码中,我将数据存储到共享首选项中,并将数据返回到TextView预设消息中。我正在存储EditText的值 您是否已使用SharedPref.

我使用共享首选项存储来自EditText的数据,并将首选项数据设置回TextView,但当我重新打开应用程序时,TextView显示默认值。如何将更改后的数据设置为TextView,并且在重新打开应用程序后数据不应丢失。我尝试了onSaveInstanceState和onSaveInstanceState,但当应用程序的方向发生变化时,这会起作用

在我的代码中,我将数据存储到共享首选项中,并将数据返回到TextView预设消息中。我正在存储EditText的值


您是否已使用SharedPref.commit;,在SharedReference中提交更改?请检查一个。

我的问题已解决。我的序列错误,无法在共享首选项中存储值,我使用了以下代码:

btnPresetDialogSave.SetOnClickListener新建视图.OnClickListener{

        @Override
        public void onClick(View v) {

            tvFrPresetMsgOne.setText(edtPresetDialogMessage.getText()
                    .toString());
            SharedPref.writeString(SharedPref.PRESET_MESSGE_ONE,
                    edtPresetDialogMessage.getText().toString());

            msgOne = SharedPref.readString(SharedPref.PRESET_MESSGE_ONE);
            tvFrPresetMsgOne.setText(msgOne);
            mDialog.dismiss();

        }
    });

并阅读onResume方法中的SharePreferences字符串

发布您的相关代码。请发布您的代码。因此,我将为您提供此问题的解决方案。您需要在相关活动的onResume中设置重置此值的逻辑。onSaveInstanceState仅用于方向更改请告诉我是否有其他方法可以实现此目的我也在找另一个solutions@Reena是的。但您必须在onResume方法中检索数据。这意味着在onResume方法中调用SharedPref.readString。公共静态无效writeStringString键,字符串值{getEditor.putStringkey,value.commit;}
        @Override
        public void onClick(View v) {

            tvFrPresetMsgOne.setText(edtPresetDialogMessage.getText()
                    .toString());
            SharedPref.writeString(SharedPref.PRESET_MESSGE_ONE,
                    edtPresetDialogMessage.getText().toString());

            msgOne = SharedPref.readString(SharedPref.PRESET_MESSGE_ONE);
            tvFrPresetMsgOne.setText(msgOne);
            mDialog.dismiss();

        }
    });