Android 我的首选项活动中的对话框首选项不是';他没有得救
我有一堆EditTextPreferences和一个TimePickerReference(我创建的)以及一个CheckBoxPreference,EditTextPreference或TimePickerReference都没有保存,但复选框保存了。我想这可能是因为我的PreferenceActivity子类中的最小值,但鉴于复选框是如何保存的,我不确定这是否是 我搜索了所有地方,似乎所有的东西都在说偏好应该自动保存,但我找不到任何原因为什么它们不会被保存 以下是我的首选xml文件:Android 我的首选项活动中的对话框首选项不是';他没有得救,android,android-preferences,preferenceactivity,Android,Android Preferences,Preferenceactivity,我有一堆EditTextPreferences和一个TimePickerReference(我创建的)以及一个CheckBoxPreference,EditTextPreference或TimePickerReference都没有保存,但复选框保存了。我想这可能是因为我的PreferenceActivity子类中的最小值,但鉴于复选框是如何保存的,我不确定这是否是 我搜索了所有地方,似乎所有的东西都在说偏好应该自动保存,但我找不到任何原因为什么它们不会被保存 以下是我的首选xml文件: 您需
您需要在所有控件(EditTextPreference和TimePickerPreference)中定义
android:key
,以便框架自动保存值
由于您在CheckBoxPreference中定义了它,因此它会自动保存。您需要在所有控件(EditTextPreference和TimePickerPreference)中定义
android:key
,以便框架自动保存值
因为您已经在CheckBoxPreference中定义了它,所以它会自动保存它。我也有同样的问题,PreferenceActivity似乎正确地读取了首选项,但在用户更改了某些属性后,我没有看到myPreferences中的更改。在首选项更新后访问首选项之前,您需要做的就是重新创建我的首选项,如下所示:
myPreferences=PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
。。。似乎两个首选项实例没有同步(可能是因为它以某种方式被缓存)。一个实例中的更改不会出现在另一个实例中,尽管它们都是相同的名称(或者都是默认的共享首选项)。我遇到了相同的问题,首选项活动似乎正确地读取了首选项,但在用户更改了某些属性后,我没有看到myPreferences中的更改。在首选项更新后访问首选项之前,您需要做的就是重新创建我的首选项,如下所示:
myPreferences=PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
。。。似乎两个首选项实例没有同步(可能是因为它以某种方式被缓存)。一个实例中的更改不会出现在另一个实例中,尽管它们都是相同的名称(或者都是默认的共享首选项)。啊,这很有意义!现在一切似乎都好了。谢谢啊,这是有道理的!现在一切似乎都好了。谢谢
myPreferences=PreferenceManager.getDefaultSharedPreferences(getApplicationContext());