通过PreferenceActivity选项启动其他PreferenceScreen

时间:2011-02-20 21:19:27

标签: android preferenceactivity

我正在编写一个包含许多选项的配置菜单,我想在主PreferenceScreen中添加一个可以启动其他PreferenceScreen的选项。

我无法弄清楚如何创建一个通用的菜单项(因此,也没有EditTextPreference或CheckBoxPreference等)。

感谢所有人。

1 个答案:

答案 0 :(得分:6)

嵌套您的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>

(来自this sample project