запустить другой PreferenceScreen через параметр PreferenceActivity - PullRequest
1 голос
/ 21 февраля 2011

Я пишу меню конфигурации со многими параметрами, и я хотел бы добавить в основной PreferenceScreen параметр, который может запускать другой PreferenceScreen.

Я не могу понять, как создать общую запись меню (так, ни EditTextPreference, ни CheckBoxPreference и т. Д.)

Спасибо всем.

1 Ответ

6 голосов
/ 21 февраля 2011

Вложите ваши PreferenceScreen элементы. Внутренний PreferenceScreen будет содержать содержимое второго экрана; заголовок и описание, которое вы поместите во внутреннюю PreferenceScreen, будет вашим «общим пунктом меню».

Например:

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory android:title="Simple Preferences">
        <CheckBoxPreference
            android:key="checkbox"
            android:title="Checkbox Preference"
            android:summary="Check it on, check it off"
        />
        <RingtonePreference
            android:key="ringtone"
            android:title="Ringtone Preference"
            android:showDefault="true"
            android:showSilent="true"
            android:summary="Pick a tone, any tone"
        />
    </PreferenceCategory>
    <PreferenceCategory android:title="Detail Screens">
        <PreferenceScreen
            android:key="detail"
            android:title="Detail Screen"
            android:summary="Additional preferences held in another page">
            <CheckBoxPreference
                android:key="checkbox2"
                android:title="Another Checkbox"
                android:summary="On. Off. It really doesn't matter."
            />
        </PreferenceScreen>
    </PreferenceCategory>
    <PreferenceCategory android:title="Other Preferences">
        <EditTextPreference
            android:key="text"
            android:title="Text Entry Dialog"
            android:summary="Click to pop up a field for entry"
            android:dialogTitle="Enter something useful"
        />
        <ListPreference
            android:key="list"
            android:title="Selection Dialog"
            android:summary="Click to pop up a list to choose from"
            android:entries="@array/cities"
            android:entryValues="@array/airport_codes"
            android:dialogTitle="Choose a Pennsylvania city" />
    </PreferenceCategory>
</PreferenceScreen>

(что из этого примера проекта )

...