Что такое "андроид: ключ" в <PreferenceScreen>, который используется?

В этом примере XML-макет PreferenceScreen:

<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> 

Я заметил android:key для обоих PreferenceScreens (вложенных друг в друга).

Я не мог найти, однако, их использование в коде приложения: единственными ключами, используемыми для доступа к значению по программному коду, являются те из фактических элементов: CheckBoxPreference, EditTextPreference и т.д.

Могут ли они использоваться для указания в коде "доступ к CheckBoxPreference, который находится на этом экране предпочтений, а не в другом"? т.е. иерархический доступ?

Если нет, какова цель ключа для PreferenceScreen? Должно быть определено? Должен ли он быть уникальным?

Ответ 1

Это атрибут XML, принадлежащий суперклассу с именем Preference. Документировано http://developer.android.com/reference/android/preference/Preference.html#attr_android:key

В приложении может быть некоторое использование ключа, скажем, если он прослушивает изменения в определенных предпочтениях, таких как: onSharedPreferenceChanged (SharedPreferences sharedPreferences, String key)

Да. Основная цель и ценность могут быть ограничены, это, безусловно, уникально. Но чтобы определить, насколько уникальным и в какой области, потребуется больше чтения. (Я не смотрел больше, чем несколько страниц онлайн-документов)

Ответ 2

Клавиша

- это значение, используемое для доступа к Предпочтению.