Android 我可以使用单个settings.xml<;首选屏幕>;元素位于不同的位置,具有动态生成的键?
首先,我使用的是API级别10,因此我需要使用旧的、不推荐的API作为首选项的解决方案 我在Android 我可以使用单个settings.xml<;首选屏幕>;元素位于不同的位置,具有动态生成的键?,android,android-preferences,android-2.3-gingerbread,Android,Android Preferences,Android 2.3 Gingerbread,首先,我使用的是API级别10,因此我需要使用旧的、不推荐的API作为首选项的解决方案 我在settings.xml中定义了一个,如下所示(有更多的首选项,但为了便于说明,我只包括了一个: <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > <CheckBoxPreference android:key="@string/key_pref_match_loca
settings.xml
中定义了一个
,如下所示(有更多的首选项,但为了便于说明,我只包括了一个:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference
android:key="@string/key_pref_match_locality"
android:defaultValue="false"
android:title="@string/title_pref_match_locality"
android:summary="@string/summary_pref_match_locality" />
</PreferenceScreen>
现在,我希望我的应用程序的结构是在多个位置使用此首选项屏幕。如何使用?想象一下这种情况:
“default\u pref\u match\u locality”
,对于组“Friends”,它应该是“group\u Family\u pref\u match\u locality”
是否有一种方法可以使用
设置.xml中定义的单个
,动态创建多个屏幕实例,这些实例都使用不同的键?
是的,可以。只需在需要的任何地方加载首选项屏幕
,膨胀首选项
元素并更改其键即可y使用Preference.setKey()方法。这应该会起作用。不确定我应该在哪里更改键?一旦我使用addPreferencesFromResource()在我的PreferenceActivity中扩展了首选项,我如何访问加载的首选项?(我假设这就是您提到的扩展方法)@mganjoo,是的,你是对的。然后你可以使用PreferenceActivity.FindReference()方法获取对首选项的引用,该方法以键为参数。该过程类似于在简单活动中获取对视图的引用。