当用户通过PreferenceActivity
I 的子类更新共享偏好时,检查新值在给定时间是否有效。如果不是,则应在onSharedPreferenceChanged
方法中将值改回。
到目前为止,这有效。我设置了一个OnSharedPreferenceChangedListener
,该方法被调用。用户设置的值将被覆盖,新值将在应用程序中使用,但是当我再次打开此特定首选项值(在本例中为 a ListPreference
)时,将选择错误的列表项(用户选择的项,而不是一组在侦听器中)。我尝试用两者覆盖值:
mPrefs.edit().putString("answers", value.toString()).commit();
mPrefs.edit().putString("answers", value.toString()).apply();
我需要采取其他步骤来更新ListPreference
? 重新启动后,PreferenceActivity
该值将正确显示。