在此示例中,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的密钥的用途是什么?必须定义吗?它必须是独一无二的吗?
答案 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的值。