我现在正在使用嵌套的PreferenceScreen创建PreferenceFragment。
preferences_layout.xml如下所示
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/preference_setting_title" >
<SwitchPreference
android:key="@string/pref_key_switch"
android:title="@string/title__preference"
android:summary="@string/summary_title_preference"
android:defaultValue="true" />
<CheckBoxPreference
android:key="@string/pref_key_auto_enable"
android:title="@string/title_auto_enable_preference"
android:summary="@string/summary_auto_enable_preference"
android:dependency="@string/pref_key_switch"
android:defaultValue="true" />
<PreferenceScreen
android:key="@string/pref_key_enabled_items"
android:title="@string/title_enabled_items"
android:summary="@string/summary_enabled_items"
android:dependency="@string/pref_key_switch" >
</PreferenceScreen>
</PreferenceScreen>
嵌套的PreferenceScreen权限项将在该PreferenceScreen onClick上动态添加。 由于在添加新项目之前需要检查已存在的项目,因此我使用以下方法进行检查:
int count = enabledPreferenceScreen.getPreferenceCount();
for (int i = 0 ; i < count ; ++i) {
//Do the check with new one
}
一切正常。但问题是,当此设置活动被销毁并再次重新启动时,enabledPreferenceScreen.getPreferenceCount()将变为0。 所以我检查app / shared_prefs / xxxx.xml,保存了值,但问题是该商店值xml中没有嵌套的屏幕层次结构信息。
如何解决这个问题?从preference_layout.xml重建PreferenceScreen无法重建daynamic添加项目首选项。
是否可以将嵌套的PreferenceScreen数据保存到另一个/shared_prefs/xxx2.xml中?如何实现呢?
非常感谢。