public abstract class PreferenceDialogFragment
extends DialogFragment
implements DialogInterface.OnClickListener
java.lang.Object | |||
↳ | android.app.Fragment | ||
↳ | android.app.DialogFragment | ||
↳ | android.support.v14.preference.PreferenceDialogFragment |
Known Direct Subclasses |
提供与DialogPreference
关联的对话框的抽象基类。 由于在重新创建片段时可能无法使用首选项对象,因此在首次调用onCreate(Bundle)
显示用于显示对话框的必要信息,并在保存的实例状态中保存/恢复。 自定义子类也应该遵循这种模式。
Inherited XML attributes |
|
---|---|
From class android.app.Fragment
|
Constants |
|
---|---|
String |
ARG_KEY |
Inherited constants |
---|
From class android.app.DialogFragment
|
From interface android.content.ComponentCallbacks2
|
Public constructors |
|
---|---|
PreferenceDialogFragment() |
Public methods |
|
---|---|
DialogPreference |
getPreference() 获取请求此对话的首选项。 |
void |
onClick(DialogInterface dialog, int which) 当单击对话框中的按钮时,将调用此方法。 |
void |
onCreate(Bundle savedInstanceState) 被调用来做一个片段的初始创建。 |
Dialog |
onCreateDialog(Bundle savedInstanceState) 重写以构建您自己的自定义Dialog容器。 |
abstract void |
onDialogClosed(boolean positiveResult) |
void |
onDismiss(DialogInterface dialog) 该方法将在对话框关闭时调用。 |
void |
onSaveInstanceState(Bundle outState) 打电话询问片段以保存其当前的动态状态,以便稍后可以在重新启动其进程的新实例时重新构建它。 |
Protected methods |
|
---|---|
void |
onBindDialogView(View view) 在数据对话框的内容视图中绑定视图。 |
View |
onCreateDialogView(Context context) 创建对话框的内容视图(如果需要自定义内容视图)。 |
void |
onPrepareDialogBuilder(AlertDialog.Builder builder) 准备在单击首选项时显示对话框构建器。 |
Inherited methods |
|
---|---|
From class android.app.DialogFragment
|
|
From class android.app.Fragment
|
|
From class java.lang.Object
|
|
From interface android.content.DialogInterface.OnCancelListener
|
|
From interface android.content.DialogInterface.OnDismissListener
|
|
From interface android.content.ComponentCallbacks2
|
|
From interface android.view.View.OnCreateContextMenuListener
|
|
From interface android.content.DialogInterface.OnClickListener
|
|
From interface android.content.ComponentCallbacks
|
PreferenceDialogFragment ()
DialogPreference getPreference ()
获取请求此对话的首选项。 在onCreate(Bundle)
之后已经调用了PreferenceFragment
,它启动了这个对话框。
Returns | |
---|---|
DialogPreference |
The DialogPreference associated with this dialog. |
void onClick (DialogInterface dialog, int which)
当单击对话框中的按钮时,将调用此方法。
Parameters | |
---|---|
dialog |
DialogInterface : The dialog that received the click. |
which |
int : The button that was clicked (e.g. BUTTON1 ) or the position of the item clicked. |
void onCreate (Bundle savedInstanceState)
被调用来做一个片段的初始创建。 这将在onAttach(Activity)
之后和onAttach(Activity)
之前onCreateView(LayoutInflater, ViewGroup, Bundle)
,但如果片段实例在Activity重新创建期间保留(请参阅setRetainInstance(boolean)
),则不会调用该实例。
请注意,这可以在片段的活动仍处于创建过程中时调用。 因此,您不能依赖于此时正在初始化活动的内容视图层次结构。 如果您想在创建活动本身后进行工作,请参阅onActivityCreated(Bundle)
。
如果您的应用targetSdkVersion
为23或更低,则在onCreate
返回后,将恢复从savedInstanceState恢复的子片段。 当瞄准N或更高版本并且在N或更新的平台版本上运行时,它们被Fragment.onCreate
恢复。
Parameters | |
---|---|
savedInstanceState |
Bundle : If the fragment is being re-created from a previous saved state, this is the state. |
Dialog onCreateDialog (Bundle savedInstanceState)
重写以构建您自己的自定义Dialog容器。 这通常用于显示AlertDialog而不是通用的Dialog; 当这样做时,由于AlertDialog处理自己的内容, onCreateView(LayoutInflater, ViewGroup, Bundle)
不需要实现onCreateView(LayoutInflater, ViewGroup, Bundle)。
此方法将在onCreate(Bundle)
之后和onCreateView(LayoutInflater, ViewGroup, Bundle)
之前onCreateView(LayoutInflater, ViewGroup, Bundle)
。 默认实现只是实例化并返回一个Dialog
类。
注意:DialogFragment拥有Dialog.setOnCancelListener
和Dialog.setOnDismissListener
回调。 你不能自己设置它们。 要了解这些事件,请覆盖onCancel(DialogInterface)
和onDismiss(DialogInterface)
。
Parameters | |
---|---|
savedInstanceState |
Bundle : The last saved instance state of the Fragment, or null if this is a freshly created Fragment. |
Returns | |
---|---|
Dialog |
Return a new Dialog instance to be displayed by the Fragment. |
void onDialogClosed (boolean positiveResult)
Parameters | |
---|---|
positiveResult |
boolean
|
void onDismiss (DialogInterface dialog)
该方法将在对话框关闭时调用。
Parameters | |
---|---|
dialog |
DialogInterface : The dialog that was dismissed will be passed into the method. |
void onSaveInstanceState (Bundle outState)
打电话询问片段以保存其当前的动态状态,以便稍后可以在重新启动其进程的新实例时重新构建它。 如果片段的新实例后需要创建,您的包放在这里的数据将提供给包可onCreate(Bundle)
, onCreateView(LayoutInflater, ViewGroup, Bundle)
,并onActivityCreated(Bundle)
。
这对应于Activity.onSaveInstanceState(Bundle)
,其中的大部分讨论也适用于此。 请注意: 此方法可能在onDestroy()
之前的任何时间被调用 。 有很多情况下,碎片可能大部分被拆除(例如,当放置在背堆栈上而没有UI显示时),但是它的状态不会被保存直到其拥有的活动实际上需要保存其状态。
Parameters | |
---|---|
outState |
Bundle : Bundle in which to place your saved state. |
void onBindDialogView (View view)
在数据对话框的内容视图中绑定视图。
确保通过超类实现进行调用。
Parameters | |
---|---|
view |
View : The content View of the dialog, if it is custom. |
View onCreateDialogView (Context context)
创建对话框的内容视图(如果需要自定义内容视图)。 默认情况下,如果设置了对话框布局资源,它将膨胀。
Parameters | |
---|---|
context |
Context
|
Returns | |
---|---|
View |
The content View for the dialog. |
也可以看看:
void onPrepareDialogBuilder (AlertDialog.Builder builder)
准备在单击首选项时显示对话框构建器。 使用它在对话框上设置自定义属性。
Parameters | |
---|---|
builder |
AlertDialog.Builder
|