Skip to content

Most visited

Recently visited

navigation

PreferenceDialogFragment

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


Abstract base class which presents a dialog associated with a DialogPreference. Since the preference object may not be available during fragment re-creation, the necessary information for displaying the dialog is read once during the initial call to onCreate(Bundle) and saved/restored in the saved instance state. Custom subclasses should also follow this pattern.

Summary

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()

Get the preference that requested this dialog.

void onClick(DialogInterface dialog, int which)

This method will be invoked when a button in the dialog is clicked.

void onCreate(Bundle savedInstanceState)

Called to do initial creation of a fragment.

Dialog onCreateDialog(Bundle savedInstanceState)

Override to build your own custom Dialog container.

abstract void onDialogClosed(boolean positiveResult)
void onDismiss(DialogInterface dialog)

This method will be invoked when the dialog is dismissed.

void onSaveInstanceState(Bundle outState)

Called to ask the fragment to save its current dynamic state, so it can later be reconstructed in a new instance of its process is restarted.

Protected methods

void onBindDialogView(View view)

Binds views in the content View of the dialog to data.

View onCreateDialogView(Context context)

Creates the content view for the dialog (if a custom content view is required).

void onPrepareDialogBuilder(AlertDialog.Builder builder)

Prepares the dialog builder to be shown when the preference is clicked.

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

Constants

ARG_KEY

added in version 23.0.0
String ARG_KEY

Constant Value: "key"

Public constructors

PreferenceDialogFragment

added in version 23.0.0
PreferenceDialogFragment ()

Public methods

getPreference

added in version 23.0.0
DialogPreference getPreference ()

Get the preference that requested this dialog. Available after onCreate(Bundle) has been called on the PreferenceFragment which launched this dialog.

Returns
DialogPreference The DialogPreference associated with this dialog.

onClick

added in version 23.0.0
void onClick (DialogInterface dialog, 
                int which)

This method will be invoked when a button in the dialog is clicked.

Parameters
dialog DialogInterface: the dialog that received the click
which int: the button that was clicked (ex. BUTTON_POSITIVE) or the position of the item clicked

onCreate

void onCreate (Bundle savedInstanceState)

Called to do initial creation of a fragment. This is called after onAttach(Activity) and before onCreateView(LayoutInflater, ViewGroup, Bundle), but is not called if the fragment instance is retained across Activity re-creation (see setRetainInstance(boolean)).

Note that this can be called while the fragment's activity is still in the process of being created. As such, you can not rely on things like the activity's content view hierarchy being initialized at this point. If you want to do work once the activity itself is created, see onActivityCreated(Bundle).

If your app's targetSdkVersion is M or lower, child fragments being restored from the savedInstanceState are restored after onCreate returns. When targeting N or above and running on an N or newer platform version they are restored by Fragment.onCreate.

Parameters
savedInstanceState Bundle: If the fragment is being re-created from a previous saved state, this is the state.

onCreateDialog

Dialog onCreateDialog (Bundle savedInstanceState)

Override to build your own custom Dialog container. This is typically used to show an AlertDialog instead of a generic Dialog; when doing so, onCreateView(LayoutInflater, ViewGroup, Bundle) does not need to be implemented since the AlertDialog takes care of its own content.

This method will be called after onCreate(Bundle) and before onCreateView(LayoutInflater, ViewGroup, Bundle). The default implementation simply instantiates and returns a Dialog class.

Note: DialogFragment own the Dialog.setOnCancelListener and Dialog.setOnDismissListener callbacks. You must not set them yourself. To find out about these events, override onCancel(DialogInterface) and 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.

onDialogClosed

added in version 23.0.0
void onDialogClosed (boolean positiveResult)

Parameters
positiveResult boolean

onDismiss

void onDismiss (DialogInterface dialog)

This method will be invoked when the dialog is dismissed.

Parameters
dialog DialogInterface: the dialog that was dismissed will be passed into the method

onSaveInstanceState

void onSaveInstanceState (Bundle outState)

Called to ask the fragment to save its current dynamic state, so it can later be reconstructed in a new instance of its process is restarted. If a new instance of the fragment later needs to be created, the data you place in the Bundle here will be available in the Bundle given to onCreate(Bundle), onCreateView(LayoutInflater, ViewGroup, Bundle), and onActivityCreated(Bundle).

This corresponds to Activity.onSaveInstanceState(Bundle) and most of the discussion there applies here as well. Note however: this method may be called at any time before onDestroy(). There are many situations where a fragment may be mostly torn down (such as when placed on the back stack with no UI showing), but its state will not be saved until its owning activity actually needs to save its state.

Parameters
outState Bundle: Bundle in which to place your saved state.

Protected methods

onBindDialogView

added in version 23.0.0
void onBindDialogView (View view)

Binds views in the content View of the dialog to data.

Make sure to call through to the superclass implementation.

Parameters
view View: The content View of the dialog, if it is custom.

onCreateDialogView

added in version 23.0.0
View onCreateDialogView (Context context)

Creates the content view for the dialog (if a custom content view is required). By default, it inflates the dialog layout resource if it is set.

Parameters
context Context
Returns
View The content View for the dialog.

See also:

onPrepareDialogBuilder

added in version 23.0.0
void onPrepareDialogBuilder (AlertDialog.Builder builder)

Prepares the dialog builder to be shown when the preference is clicked. Use this to set custom properties on the dialog.

Do not create() or show().

Parameters
builder AlertDialog.Builder
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.