<preferencescreen>中的“android:key”用于什么?</preferencescreen>

时间:2011-08-31 19:30:05

标签: android android-preferences

在此示例中,PreferenceScreen的XML布局:

<PreferenceScreen
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:key="first_preferencescreen">
    <CheckBoxPreference
            android:key="wifi enabled"
            android:title="WiFi" />
    <PreferenceScreen
            android:key="second_preferencescreen"
            android:title="WiFi settings">
        <CheckBoxPreference
                android:key="prefer wifi"
                android:title="Prefer WiFi" />
        ... other preferences here ...
    </PreferenceScreen>
</PreferenceScreen> 

我注意到两个PreferenceScreens都有android:key(彼此嵌套)。

然而,我在应用程序代码中找不到任何用途:用于通过程序代码访问值的唯一键是实际元素:CheckBoxPreference,EditTextPreference等。

它们是否可用于在代码中指定“访问此PreferenceScreen中的CheckBoxPreference而不是其他”?即分层访问?

如果没有,PreferenceScreen的密钥的用途是什么?必须定义吗?它必须是独一无二的吗?

2 个答案:

答案 0 :(得分:10)

属于名为Preference的超类的XML属性。记录在案 http://developer.android.com/reference/android/preference/Preference.html#attr_android:key

应用程序可以使用密钥,例如,如果它正在侦听特定首选项的更改,例如: onSharedPreferenceChanged(SharedPreferences sharedPreferences,String key)

是。关键目的和价值可能会受到很大限制,它肯定是独一无二的。但是要定义多么独特和在什么范围内,需要更多的阅读。 (我没有看到更多只有几页的在线文档)

答案 1 :(得分:0)

key是用于访问Preference的值。