Android, когда использовать PreferenceCategory и когда PreferenceScreen

Я узнаю об Android, но я не понимаю разницу между PreferenceCategory и PreferenceScreen, я видел, что многие учебники использовали второй вместо первого, но я не понимаю, почему. Когда вы рекомендуете мне использовать первый вместо второго или наоборот. Другое дело, эти два кода сделали то же самое?

<PreferenceCategory
    android:title="first">
    <CheckBoxPreference
        android:key="first_preferences"
        android:title="first"
        android:defaultValue="false" />`
</PreferenceCategory>

и второй код:

<PreferenceScreen
    android:title="second">
    <CheckBoxPreference
        android:key="second_preferences"
        android:title="second"
        android:defaultValue="false" />`
</PreferenceScreen>

Спасибо за помощь.

2 ответа

PreferenceScreen это контейнер настроек.

Внутри PreferenceScreen, вы можете классифицировать контент по PreferenceCategory, Ниже пример покажет разницу между PreferenceScreen а также PreferenceCategory,

Пример:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <PreferenceCategory android:title="USER PROFILE" >
        <EditTextPreference 
                android:title="Set username" 
                android:summary="Set your username" 
                android:key="prefUsername"/>
    </PreferenceCategory>

    <PreferenceCategory android:title="UPDATE SETTINGS" >
        <CheckBoxPreference
            android:defaultValue="false"
            android:key="prefSendReport"
            android:summary="Helps to fix bugs"
            android:title="Send crash reports" >
        </CheckBoxPreference>

        <ListPreference
            android:key="prefSyncFrequency"
            android:entries="@array/syncFrequency"
            android:summary="@string/pref_sync_frequency_summary" 
            android:entryValues="Helps to fix bugs"
            android:title="Sync frequency" />
    </PreferenceCategory>

</PreferenceScreen>

Приведенный выше XML даст следующий вывод.

введите описание изображения здесь

Теперь вы можете видеть, что PrefereceCategory классифицирует контент.

Предпочтение Screen это корневой макет, который содержит настройки.
Предпочтение Category является "заголовком" для группы связанных настроек.

Другие вопросы по тегам