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

Android 嵌套首选项屏幕将其首选项存储到不同的共享首选项文件中,android,android-fragments,Android,Android Fragments,我现在正在创建一个带有嵌套PreferenceScreen的PreferenceFragment preferences_layout.xml如下所示 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/preference_setting_title" > <SwitchP

我现在正在创建一个带有嵌套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时动态添加。 由于需要在添加新项目之前检查已存在的项目,因此我使用以下方法进行检查:

int count = enabledPreferenceScreen.getPreferenceCount();
for (int i = 0 ; i < count ; ++i) {
//Do the check with new one
}
int count=enabledPreferenceScreen.getPreferenceCount();
对于(int i=0;i
一切正常。但问题是,当此设置活动被销毁并再次启动时,enabledPreferenceScreen.getPreferenceCount()将变为0。 因此,我使用app/shared_prefs/xxxx.xml检查,值已保存,但问题是存储值xml中没有嵌套的屏幕层次结构信息

如何解决这个问题?从preference_layout.xml重建PreferenceScreen无法重建daynamic add items首选项

是否可以将嵌套的首选项屏幕数据保存到另一个/shared_prefs/xxx2.xml中?如何实现

非常感谢