Android-修改后的偏好设置无法在设置菜单上正确显示

时间:2018-10-20 01:24:50

标签: android sharedpreferences settings preferenceactivity

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

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

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

正如我在其他一些与SO有关的问题中一样,这应该起作用并修改我称为“ key_points”的首选项。

然后,我点击菜单按钮,然后选择“设置”。

“设置”启动我的SettingActivity,其中的PreferenceFragment类被调用:

addPreferencesFromResource(R.xml.preferences);

然后,PreferenceFragment类将调用:

{{1}}

问题是,我对Button的首选项所做的更改未反映在PreferenceFragment中。

SettingsActivity显示的是旧的首选项值,而不是我提交的首选项值。

出什么问题了,我是否可以让SettingsActivity显示由Button设置的首选项的新值?

谢谢, AJ

1 个答案:

答案 0 :(得分:2)

  

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

可能是因为您没有使用默认的SharedPreferences。首选项值存储在默认值(默认)中。

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