安卓 - 修改后的首选项未在设置菜单上正确显示



我想使用活动中的按钮保存首选项。

我在按钮侦听器中的代码是:

SharedPreferences.Editor editor = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE).edit();
editor.putString("key_points", "5"); // value to store
editor.apply();

正如我在其他一些相关问题中所做的那样,这应该有效并修改我称之为"key_points"的偏好。

然后,我单击菜单按钮并选择"设置"。

"settings"启动了我的SettingActivity,其中调用了PreferenceFragment类:

getFragmentManager().beginTransaction().replace(android.R.id.content, new MainPreferenceFragment()).commit();

然后,PreferenceFragment 类调用:

addPreferencesFromResource(R.xml.preferences);

问题是,我通过按钮对首选项所做的更改并未反映在首选项片段中。

设置活动显示的是旧的首选项值,而不是我提交的首选项值。

出了什么问题,我是否使我的"设置活动"显示由按钮设置的首选项的新值?

谢谢 AJ

SharedPreferences.Editor editor = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE).edit();

这可能是因为您没有使用默认的共享首选项。首选项值存储在默认值中(默认情况下(。

尝试使用SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();而不是自定义的共享首选项文件。

最新更新