【发布时间】:2016-02-20 06:02:48
【问题描述】:
我正在使用以下代码在onStop() 中添加首选项并在onActivityCreated() 中检索。一切正常,但在杀死应用程序后,sharedpreference 没有更新其值,并且在安装应用程序后第一次插入的值始终保持不变.
代码:
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
SharedPreferences appdata = PreferenceManager.getDefaultSharedPreferences(this.getActivity());
etA.setText(appdata.getString("A", ""));
etB.setText(appdata.getString("B", ""));
}
@Override
public void onStop() {
super.onStop();
SharedPreferences appdata = PreferenceManager.getDefaultSharedPreferences(this.getActivity());
SharedPreferences.Editor editor = appdata.edit();
editor.putString("A", etA.getText().toString());
editor.putString("B", etB.getText().toString());
editor.commit();
}
【问题讨论】:
-
你是如何杀死你的应用程序的。请在停止中添加一条日志消息,并检查 logcat 是否在您杀死您的应用程序时被调用。还要在 onActivityCreated 中输入一个日志,并检查它是否在您重新启动应用时被调用。
-
您要卸载应用吗?
-
而不是
onstop将此代码写入onpause() -
SharedPreferences.Editor editor = appdata.edit(); editor.clear(); editor.putString("A", etA.getText().toString()); editor.putString("B", etB.getText().toString()); editor.commit();