嵌套的preferenceScreen将其首选项存储到不同的共享首选项文件中

时间:2015-09-10 06:33:39

标签: android android-fragments

我现在正在使用嵌套的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中?如何实现呢?

非常感谢。

0 个答案:

没有答案