0

首先,我使用的是 API 级别 10,因此我需要使用旧的、已弃用的 API 来获得偏好的解决方案。

我在 a中<PreferenceScreen>定义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>

现在我希望我的应用程序结构的方式是在多个地方使用这个偏好屏幕。如何?想象一下这个场景:

  1. 我有一个人名单,分配到不同的组。以“朋友”、“家人”、“同事”为例。
  2. 我希望有一组与“默认”组相关联的首选项,以及每个单独的组。总之,对于这个例子,我将有 4 组首选项——默认、朋友、家人、同事——然后我会将它们上传到服务器上。

理想情况下,我希望偏好的关键来表明它是哪种偏好。因此,对于默认组的首选项,我希望首选项的键是"DEFAULT_pref_match_locality",而对于组“朋友”,它应该是"GROUP_Family_pref_match_locality"

有没有一种方法可以使用单个<PreferenceScreen>定义settings.xml并动态创建多个屏幕实例,它们都使用不同的键?

4

1 回答 1

1

是的你可以。只需加载PreferenceScreen您需要的任何地方,膨胀Preference元素并使用 Preference.setKey() 方法动态更改它们的键。这应该有效。

于 2012-03-07T09:42:23.117 回答