public final class PreferenceScreen
extends PreferenceGroup
java.lang.Object | |||
↳ | android.support.v7.preference.Preference | ||
↳ | android.support.v7.preference.PreferenceGroup | ||
↳ | android.support.v7.preference.PreferenceScreen |
表示顶层Preference
,它是首选层次结构的根。 一个PreferenceFragmentCompat
指向这个类的一个实例来显示首选项。 要实例化这个类,请使用createPreferenceScreen(android.content.Context)
。
PreferenceFragmentCompat
points to this, it is used as the root and is not shown (only the contained preferences are shown). Dialog
or via a startActivity(android.content.Intent)
from the getIntent()
). The children of this PreferenceScreen
are NOT shown in the screen that this PreferenceScreen
is shown in. Instead, a separate screen will be shown when this preference is clicked. 以下是一个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>
在此示例中,“first_preferencescreen”将用作层次结构的根目录,并将其提供给PreferenceFragment
或PreferenceFragmentCompat
。 第一个屏幕将显示首选项“WiFi”(可用于快速启用/禁用WiFi)和“WiFi设置”。 “WiFi设置”是“second_preferencescreen”,点击后会显示另一个首选项屏幕,如“首选WiFi”(以及其他首选项,即“second_preferencescreen”标签的子选项)。
有关使用首选项构建设置UI的信息,请阅读 Settings指南。
也可以看看:
Inherited constants |
---|
From class android.support.v7.preference.Preference
|
Public methods |
|
---|---|
void |
setShouldUseGeneratedIds(boolean shouldUseGeneratedIds) 设置为此屏幕创建的适配器是否应尝试使用由 |
boolean |
shouldUseGeneratedIds() |
Protected methods |
|
---|---|
boolean |
isOnSameScreenAsChildren() 此偏好组是否应该与其包含的偏好一起显示在同一屏幕上。 |
void |
onClick() 处理点击偏好。 |
Inherited methods |
|
---|---|
From class android.support.v7.preference.PreferenceGroup
|
|
From class android.support.v7.preference.Preference
|
|
From class java.lang.Object
|
|
From interface java.lang.Comparable
|
void setShouldUseGeneratedIds (boolean shouldUseGeneratedIds)
设置为此屏幕创建的适配器是否应尝试使用由addPreference(Preference)
生成的首选项ID作为稳定的项目ID。 如果将Preference
对象频繁地从Preference
中删除并重新添加到其包含的PreferenceGroup
将其设置为false可以抑制不需要的动画。
只有在首选项屏幕未附加到层次结构时才可以调用此方法。
默认值是 true
。
Parameters | |
---|---|
shouldUseGeneratedIds |
boolean : true if the adapter should use the preference ID as a stable ID, or false to disable the use of stable IDs |
boolean shouldUseGeneratedIds ()
见 setShouldUseGeneratedIds(boolean)
Returns | |
---|---|
boolean |
true if the adapter should use the preference IDs generated by addPreference(Preference) as stable item IDs |
boolean isOnSameScreenAsChildren ()
此偏好组是否应该与其包含的偏好一起显示在同一屏幕上。
Returns | |
---|---|
boolean |
True if the contained preferences should be shown on the same screen as this preference. |
void onClick ()
处理点击偏好。 这包括将值保存到SharedPreferences
。 但是,重写的方法应该调用callChangeListener(Object)
以确保客户端想要用新值更新首选项的状态。