Dialog | Android Developers

Tóm Tắt

Dialog

Kotlin

|

Java


public

class
Dialog


extends Object

implements

DialogInterface,

Window.Callback,

KeyEvent.Callback,

View.OnCreateContextMenuListener

Known direct subclasses

AlertDialog, CharacterPickerDialog, Presentation
AlertDialog

A subclass of Dialog that can display one, two or three buttons. 

CharacterPickerDialog

Dialog for choosing accented characters related to a base character. 

Presentation

Base class for presentations. 

Known indirect subclasses

DatePickerDialog, ProgressDialog, TimePickerDialog
DatePickerDialog

A simple dialog containing an DatePicker

ProgressDialog

This class was deprecated
in API level 26.
ProgressDialog is a modal dialog, which prevents the
user from interacting with the app. Instead of using this class, you should
use a progress indicator like ProgressBar, which can
be embedded in your app’s UI. Alternatively, you can use a
notification
to inform the user of the task’s progress. 

TimePickerDialog

A dialog that prompts the user for the time of day using a
TimePicker

Base class for Dialogs.

Note: Activities provide a facility to manage the creation, saving and
restoring of dialogs. See Activity#onCreateDialog(int),
Activity#onPrepareDialog(int, Dialog),
Activity#showDialog(int), and Activity#dismissDialog(int). If
these methods are used, getOwnerActivity() will return the Activity
that managed this dialog.

Often you will want to have a Dialog display on top of the current
input method, because there is no reason for it to accept text. You can
do this by setting the WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM window flag (assuming
your Dialog takes input focus, as it the default) with the following code:

 getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
         WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

Developer Guides

For more information about creating dialogs, read the
Dialogs developer guide.

Summary

Inherited constants

android.content.DialogInterface

From interface


int
BUTTON1

This constant was deprecated
in API level 15.
Use BUTTON_POSITIVE

int
BUTTON2

This constant was deprecated
in API level 15.
Use BUTTON_NEGATIVE

int
BUTTON3

This constant was deprecated
in API level 15.
Use BUTTON_NEUTRAL

int
BUTTON_NEGATIVE

The identifier for the negative button.

int
BUTTON_NEUTRAL

The identifier for the neutral button.

int
BUTTON_POSITIVE

The identifier for the positive button.

Public constructors


Dialog(Context context)

Creates a dialog window that uses the default dialog theme.


Dialog(Context context, int themeResId)

Creates a dialog window that uses a custom dialog style.

Protected constructors


Dialog(Context context, boolean cancelable, DialogInterface.OnCancelListener cancelListener)

Protected methods

void

onCreate(Bundle savedInstanceState)

Similar to Activity#onCreate, you should initialize your dialog
in this method, including calling setContentView(View).

void

onStart()

Called when the dialog is starting.

void

onStop()

Called to tell you that you’re stopping.

Inherited methods


java.lang.Object

From class



Object


clone()

Creates and returns a copy of this object.

boolean

equals(Object obj)

Indicates whether some other object is “equal to” this one.

void

finalize()

Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.

final

Class<?>

getClass()

Returns the runtime class of this Object.

int

hashCode()

Returns a hash code value for the object.

final

void

notify()

Wakes up a single thread that is waiting on this object’s
monitor.

final

void

notifyAll()

Wakes up all threads that are waiting on this object’s monitor.


String


toString()

Returns a string representation of the object.

final

void

wait(long timeout, int nanos)

Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object, or
some other thread interrupts the current thread, or a certain
amount of real time has elapsed.

final

void

wait(long timeout)

Causes the current thread to wait until either another thread invokes the
notify() method or the
notifyAll() method for this object, or a
specified amount of time has elapsed.

final

void

wait()

Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object.


android.content.DialogInterface

From interface



abstract

void

cancel()

Cancels the dialog, invoking the OnCancelListener.


abstract

void

dismiss()

Dismisses the dialog, invoking the OnDismissListener.


android.view.Window.Callback

From interface



abstract

boolean

dispatchGenericMotionEvent(MotionEvent event)

Called to process generic motion events.


abstract

boolean

dispatchKeyEvent(KeyEvent event)

Called to process key events.


abstract

boolean

dispatchKeyShortcutEvent(KeyEvent event)

Called to process a key shortcut event.


abstract

boolean

dispatchPopulateAccessibilityEvent(AccessibilityEvent event)

Called to process population of AccessibilityEvents.


abstract

boolean

dispatchTouchEvent(MotionEvent event)

Called to process touch screen events.


abstract

boolean

dispatchTrackballEvent(MotionEvent event)

Called to process trackball events.


abstract

void

onActionModeFinished(ActionMode mode)

Called when an action mode has been finished.


abstract

void

onActionModeStarted(ActionMode mode)

Called when an action mode has been started.


abstract

void

onAttachedToWindow()

Called when the window has been attached to the window manager.


abstract

void

onContentChanged()

This hook is called whenever the content view of the screen changes
(due to a call to
Window.setContentView or
Window.addContentView).


abstract

boolean

onCreatePanelMenu(int featureId, Menu menu)

Initialize the contents of the menu for panel ‘featureId’.


abstract

View

onCreatePanelView(int featureId)

Instantiate the view to display in the panel for ‘featureId’.


abstract

void

onDetachedFromWindow()

Called when the window has been detached from the window manager.


abstract

boolean

onMenuItemSelected(int featureId, MenuItem item)

Called when a panel’s menu item has been selected by the user.


abstract

boolean

onMenuOpened(int featureId, Menu menu)

Called when a panel’s menu is opened by the user.


abstract

void

onPanelClosed(int featureId, Menu menu)

Called when a panel is being closed.

default

void

onPointerCaptureChanged(boolean hasCapture)

Called when pointer capture is enabled or disabled for the current window.


abstract

boolean

onPreparePanel(int featureId, View view, Menu menu)

Prepare a panel to be displayed.

default

void

onProvideKeyboardShortcuts(List<KeyboardShortcutGroup> data, Menu menu, int deviceId)

Called when Keyboard Shortcuts are requested for the current window.


abstract

boolean

onSearchRequested()

Called when the user signals the desire to start a search.


abstract

boolean

onSearchRequested(SearchEvent searchEvent)

Called when the user signals the desire to start a search.


abstract

void

onWindowAttributesChanged(WindowManager.LayoutParams attrs)

This is called whenever the current window attributes change.


abstract

void

onWindowFocusChanged(boolean hasFocus)

This hook is called whenever the window focus changes.


abstract

ActionMode

onWindowStartingActionMode(ActionMode.Callback callback)

Called when an action mode is being started for this window.


abstract

ActionMode

onWindowStartingActionMode(ActionMode.Callback callback, int type)

Called when an action mode is being started for this window.


android.view.KeyEvent.Callback

From interface



abstract

boolean

onKeyDown(int keyCode, KeyEvent event)

Called when a key down event has occurred.


abstract

boolean

onKeyLongPress(int keyCode, KeyEvent event)

Called when a long press has occurred.


abstract

boolean

onKeyMultiple(int keyCode, int count, KeyEvent event)

Called when a user’s interaction with an analog control, such as
flinging a trackball, generates simulated down/up events for the same
key multiple times in quick succession.


abstract

boolean

onKeyUp(int keyCode, KeyEvent event)

Called when a key up event has occurred.


android.view.View.OnCreateContextMenuListener

From interface



abstract

void

onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)

Called when the context menu for this view is being built.

Public constructors

Dialog

Added in API level 1

public Dialog (Context context)

Creates a dialog window that uses the default dialog theme.

The supplied context is used to obtain the window manager and
base theme used to present the dialog.

Parameters

context
Context: the context in which the dialog should run
This value cannot be null.

See also:

  • R.styleable.Theme_dialogTheme

Dialog

Added in API level 1

public Dialog (Context context, 
                int themeResId)

Creates a dialog window that uses a custom dialog style.

The supplied context is used to obtain the window manager and
base theme used to present the dialog.

The supplied theme is applied on top of the context’s theme. See

Style and Theme Resources for more information about defining and
using styles.

Parameters

context
Context: the context in which the dialog should run
This value cannot be null.

themeResId
int: a style resource describing the theme to use for the
window, or 0 to use the default dialog theme

Protected constructors

Dialog

Added in API level 1

protected Dialog (Context context, 
                boolean cancelable, 
                DialogInterface.OnCancelListener cancelListener)

Parameters

context
Context: This value cannot be null.

cancelable
boolean
cancelListener
DialogInterface.OnCancelListener: This value may be null.

Public methods

addContentView

Added in API level 1

public void addContentView (View view, 
                ViewGroup.LayoutParams params)

Add an additional content view to the screen. Added after any existing
ones in the screen — existing views are NOT removed.

Parameters

view
View: The desired content to display.
This value cannot be null.

params
ViewGroup.LayoutParams: Layout parameters for the view.

This value may be null.

cancel

Added in API level 1

public void cancel ()

Cancel the dialog. This is essentially the same as calling dismiss(), but it will
also call your DialogInterface.OnCancelListener (if registered).

closeOptionsMenu

Added in API level 1

public void closeOptionsMenu ()

See also:

  • Activity.closeOptionsMenu()

create

Added in API level 21

public void create ()

Forces immediate creation of the dialog.

Note that you should not override this method to perform dialog creation.
Rather, override onCreate(android.os.Bundle).

dismiss

Added in API level 1

public void dismiss ()

Dismiss this dialog, removing it from the screen. This method can be
invoked safely from any thread. Note that you should not override this
method to do cleanup when the dialog is dismissed, instead implement
that in onStop().

dispatchGenericMotionEvent

Added in API level 12

public boolean dispatchGenericMotionEvent (MotionEvent ev)

Called to process generic motion events. You can override this to
intercept all generic motion events before they are dispatched to the
window. Be sure to call this implementation for generic motion events
that should be handled normally.

Parameters

ev
MotionEvent: The generic motion event.

This value cannot be null.

Returns

boolean
boolean Return true if this event was consumed.

dispatchKeyEvent

Added in API level 1

public boolean dispatchKeyEvent (KeyEvent event)

Called to process key events. You can override this to intercept all
key events before they are dispatched to the window. Be sure to call
this implementation for key events that should be handled normally.

Parameters

event
KeyEvent: The key event.

This value cannot be null.

Returns

boolean
boolean Return true if this event was consumed.

dispatchKeyShortcutEvent

Added in API level 11

public boolean dispatchKeyShortcutEvent (KeyEvent event)

Called to process a key shortcut event.
You can override this to intercept all key shortcut events before they are
dispatched to the window. Be sure to call this implementation for key shortcut
events that should be handled normally.

Parameters

event
KeyEvent: The key shortcut event.
This value cannot be null.

Returns

boolean
True if this event was consumed.

dispatchPopulateAccessibilityEvent

Added in API level 4

public boolean dispatchPopulateAccessibilityEvent (AccessibilityEvent event)

Called to process population of AccessibilityEvents.

Parameters

event
AccessibilityEvent: This value cannot be null.

Returns

boolean
boolean Return true if event population was completed.

dispatchTouchEvent

Added in API level 1

public boolean dispatchTouchEvent (MotionEvent ev)

Called to process touch screen events. You can override this to
intercept all touch screen events before they are dispatched to the
window. Be sure to call this implementation for touch screen events
that should be handled normally.

Parameters

ev
MotionEvent: The touch screen event.

This value cannot be null.

Returns

boolean
boolean Return true if this event was consumed.

dispatchTrackballEvent

Added in API level 1

public boolean dispatchTrackballEvent (MotionEvent ev)

Called to process trackball events. You can override this to
intercept all trackball events before they are dispatched to the
window. Be sure to call this implementation for trackball events
that should be handled normally.

Parameters

ev
MotionEvent: The trackball event.

This value cannot be null.

Returns

boolean
boolean Return true if this event was consumed.

findViewById

Added in API level 1

public T findViewById (int id)

Finds the first descendant view with the given ID or null if the
ID is invalid (< 0), there is no matching view in the hierarchy, or the
dialog has not yet been fully created (for example, via show()
or create()).

Note: In most cases — depending on compiler support —
the resulting view is automatically cast to the target class type. If
the target class type is unconstrained, an explicit cast may be
necessary.

Parameters

id
int: the ID to search for

Returns

T
a view with given ID if found, or null otherwise

See also:

  • View.findViewById(int)
  • requireViewById(int)

getActionBar

Added in API level 11

public ActionBar getActionBar ()

Retrieve the ActionBar attached to this dialog, if present.

Returns

ActionBar
The ActionBar attached to the dialog or null if no ActionBar is present.

getContext

Added in API level 1

public final Context getContext ()

Retrieve the Context this Dialog is running in.

Returns

Context
Context The Context used by the Dialog.

This value cannot be null.

getCurrentFocus

Added in API level 1

public View getCurrentFocus ()

Call Window.getCurrentFocus() on the
Window if this Activity to return the currently focused view.

Returns

View
View The current View with focus or null.

See also:

  • getWindow()
  • Window.getCurrentFocus()

getLayoutInflater

Added in API level 1

public LayoutInflater getLayoutInflater ()

Returns

LayoutInflater
This value cannot be null.

getOnBackInvokedDispatcher

Added in API level 33

public OnBackInvokedDispatcher getOnBackInvokedDispatcher ()

Returns the OnBackInvokedDispatcher instance associated with the window that this
dialog is attached to.

Returns

OnBackInvokedDispatcher
This value cannot be null.

getOwnerActivity

Added in API level 1

public final Activity getOwnerActivity ()

Returns the Activity that owns this Dialog. For example, if
Activity#showDialog(int) is used to show this Dialog, that
Activity will be the owner (by default). Depending on how this dialog was
created, this may return null.

Returns

Activity
The Activity that owns this Dialog.

getSearchEvent

Added in API level 23

public final SearchEvent getSearchEvent ()

During the onSearchRequested() callbacks, this function will return the
SearchEvent that triggered the callback, if it exists.

Returns

SearchEvent
SearchEvent The SearchEvent that triggered the onSearchRequested() callback.

This value may be null.

getVolumeControlStream

Added in API level 1

public final int getVolumeControlStream ()

Returns

int

See also:

  • Activity.getVolumeControlStream()

getWindow

Added in API level 1

public Window getWindow ()

Retrieve the current Window for the activity. This can be used to
directly access parts of the Window API that are not available
through Activity/Screen.

Returns

Window
Window The current window, or null if the activity is not
visual.

hide

Added in API level 1

public void hide ()

Hide the dialog, but do not dismiss it.

isShowing

Added in API level 1

public boolean isShowing ()

Returns

boolean
Whether the dialog is currently showing.

onActionModeFinished

Added in API level 11

public void onActionModeFinished (ActionMode mode)

Called when an action mode has been finished. The appropriate mode callback
method will have already been invoked.

Note that if you override this method you should always call through
to the superclass implementation by calling super.onActionModeFinished(mode).

If you override this method you must call through to the
superclass implementation.

Parameters

mode
ActionMode: The mode that was just finished.

onActionModeStarted

Added in API level 11

public void onActionModeStarted (ActionMode mode)

Called when an action mode has been started. The appropriate mode callback
method will have already been invoked.

Note that if you override this method you should always call through
to the superclass implementation by calling super.onActionModeStarted(mode).

If you override this method you must call through to the
superclass implementation.

Parameters

mode
ActionMode: The new mode that has just been started.

onAttachedToWindow

Added in API level 5

public void onAttachedToWindow ()

Called when the window has been attached to the window manager.
See View.onAttachedToWindow()
for more information.

onBackPressed

Deprecated in

Added in API level 5 Deprecated in API level
33

public void onBackPressed ()


This method was deprecated
in API level 33.

Use OnBackInvokedCallback or
androidx.activity.OnBackPressedCallback to handle back navigation instead.

Starting from Android 13 (API level 33), back event handling is
moving to an ahead-of-time model and onBackPressed() and
KeyEvent#KEYCODE_BACK should not be used to handle back events (back gesture or
back button click). Instead, an OnBackInvokedCallback should be registered using
Dialog#getOnBackInvokedDispatcher()
.registerOnBackInvokedCallback(priority, callback).

Called when the dialog has detected the user’s press of the back
key. The default implementation simply cancels the dialog (only if
it is cancelable), but you can override this to do whatever you want.

If you target version Build.VERSION_CODES.TIRAMISU or later, you
should not use this method but register an OnBackInvokedCallback on an
OnBackInvokedDispatcher that you can retrieve using
getOnBackInvokedDispatcher(). You should also set
android:enableOnBackInvokedCallback="true" in the application manifest.

Alternatively, you
can use androidx.activity.ComponentDialog#getOnBackPressedDispatcher()
for backward compatibility.

onContentChanged

Added in API level 1

public void onContentChanged ()

This hook is called whenever the content view of the screen changes
(due to a call to
Window.setContentView or
Window.addContentView).

onContextItemSelected

Added in API level 1

public boolean onContextItemSelected (MenuItem item)

Parameters

item
MenuItem: This value cannot be null.

Returns

boolean

See also:

  • Activity.onContextItemSelected(MenuItem)

onContextMenuClosed

Added in API level 1

public void onContextMenuClosed (Menu menu)

Parameters

menu
Menu: This value cannot be null.

See also:

  • Activity.onContextMenuClosed(Menu)

onCreateContextMenu

Added in API level 1

public void onCreateContextMenu (ContextMenu menu, 
                View v, 
                ContextMenu.ContextMenuInfo menuInfo)

Called when the context menu for this view is being built. It is not
safe to hold onto the menu after this method returns.

Parameters

menu
ContextMenu: The context menu that is being built

v
View: The view for which the context menu is being built

menuInfo
ContextMenu.ContextMenuInfo: Extra information about the item for which the
context menu should be shown. This information will vary
depending on the class of v.

See also:

  • Activity.onCreateContextMenu(ContextMenu, View, ContextMenuInfo)

onCreateOptionsMenu

Added in API level 1

public boolean onCreateOptionsMenu (Menu menu)

It is usually safe to proxy this call to the owner activity’s
Activity#onCreateOptionsMenu(Menu) if the client desires the same
menu for this Dialog.

Parameters

menu
Menu: This value cannot be null.

Returns

boolean

See also:

  • Activity.onCreateOptionsMenu(Menu)
  • getOwnerActivity()

onCreatePanelMenu

Added in API level 1

public boolean onCreatePanelMenu (int featureId, 
                Menu menu)

Initialize the contents of the menu for panel ‘featureId’. This is
called if onCreatePanelView() returns null, giving you a standard
menu in which you can place your items. It is only called once for
the panel, the first time it is shown.

You can safely hold on to menu (and any items created
from it), making modifications to it as desired, until the next
time onCreatePanelMenu() is called for this feature.

Parameters

featureId
int: The panel being created.

menu
Menu: This value cannot be null.

Returns

boolean
boolean You must return true for the panel to be displayed;
if you return false it will not be shown.

See also:

  • Activity.onCreatePanelMenu(int, Menu)

onCreatePanelView

Added in API level 1

public View onCreatePanelView (int featureId)

Instantiate the view to display in the panel for ‘featureId’.
You can return null, in which case the default content (typically
a menu) will be created for you.

Parameters

featureId
int: Which panel is being created.

Returns

View
view The top-level view to place in the panel.

See also:

  • Activity.onCreatePanelView(int)

onDetachedFromWindow

Added in API level 5

public void onDetachedFromWindow ()

Called when the window has been detached from the window manager.
See View.onDetachedFromWindow()
for more information.

onGenericMotionEvent

Added in API level 12

public boolean onGenericMotionEvent (MotionEvent event)

Called when a generic motion event was not handled by any of the
views inside of the dialog.

Generic motion events describe joystick movements, mouse hovers, track pad
touches, scroll wheel movements and other input events. The
source of the motion event specifies
the class of input that was received. Implementations of this method
must examine the bits in the source before processing the event.
The following code example shows how this is done.

Generic motion events with source class
InputDevice.SOURCE_CLASS_POINTER
are delivered to the view under the pointer. All other generic motion events are
delivered to the focused view.

See View#onGenericMotionEvent(MotionEvent) for an example of how to
handle this event.

Parameters

event
MotionEvent: The generic motion event being processed.

This value cannot be null.

Returns

boolean
Return true if you have consumed the event, false if you haven’t.
The default implementation always returns false.

onKeyDown

Added in API level 1

public boolean onKeyDown (int keyCode, 
                KeyEvent event)

A key was pressed down.

If the focused view didn’t want this event, this method is called.

Default implementation consumes KEYCODE_BACK
and, as of P, KEYCODE_ESCAPE to later handle them in onKeyUp(int, KeyEvent).

Parameters

keyCode
int: The value in event.getKeyCode().

event
KeyEvent: This value cannot be null.

Returns

boolean
If you handled the event, return true. If you want to allow
the event to be handled by the next receiver, return false.

See also:

  • onKeyUp(int, KeyEvent)
  • KeyEvent

onKeyLongPress

Added in API level 5

public boolean onKeyLongPress (int keyCode, 
                KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyLongPress(): always returns false (doesn’t handle
the event).

Parameters

keyCode
int: The value in event.getKeyCode().

event
KeyEvent: This value cannot be null.

Returns

boolean
If you handled the event, return true. If you want to allow
the event to be handled by the next receiver, return false.

onKeyMultiple

Added in API level 1

public boolean onKeyMultiple (int keyCode, 
                int repeatCount, 
                KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyMultiple(): always returns false (doesn’t handle
the event).

Parameters

keyCode
int: The value in event.getKeyCode().

repeatCount
int: Number of pairs as returned by event.getRepeatCount().

event
KeyEvent: This value cannot be null.

Returns

boolean
If you handled the event, return true. If you want to allow
the event to be handled by the next receiver, return false.

onKeyShortcut

Added in API level 11

public boolean onKeyShortcut (int keyCode, 
                KeyEvent event)

Called when a key shortcut event is not handled by any of the views in the Dialog.
Override this method to implement global key shortcuts for the Dialog.
Key shortcuts can also be implemented by setting the
shortcut property of menu items.

Parameters

keyCode
int: The value in event.getKeyCode().

event
KeyEvent: Description of the key event.
This value cannot be null.

Returns

boolean
True if the key shortcut was handled.

onKeyUp

Added in API level 1

public boolean onKeyUp (int keyCode, 
                KeyEvent event)

A key was released.

Default implementation consumes KEYCODE_BACK
and, as of P, KEYCODE_ESCAPE to close the dialog.

Parameters

keyCode
int: The value in event.getKeyCode().

event
KeyEvent: This value cannot be null.

Returns

boolean
If you handled the event, return true. If you want to allow
the event to be handled by the next receiver, return false.

See also:

  • onKeyDown(int, KeyEvent)
  • KeyEvent

onMenuItemSelected

Added in API level 1

public boolean onMenuItemSelected (int featureId, 
                MenuItem item)

Called when a panel’s menu item has been selected by the user.

Parameters

featureId
int: The panel that the menu is in.

item
MenuItem: This value cannot be null.

Returns

boolean
boolean Return true to finish processing of selection, or
false to perform the normal menu handling (calling its
Runnable or sending a Message to its target Handler).

See also:

  • Activity.onMenuItemSelected(int, MenuItem)

onMenuOpened

Added in API level 1

public boolean onMenuOpened (int featureId, 
                Menu menu)

Called when a panel’s menu is opened by the user. This may also be
called when the menu is changing from one type to another (for
example, from the icon menu to the expanded menu).

Parameters

featureId
int: The panel that the menu is in.

menu
Menu: This value cannot be null.

Returns

boolean
Return true to allow the menu to open, or false to prevent
the menu from opening.

See also:

  • Activity.onMenuOpened(int, Menu)

onOptionsItemSelected

Added in API level 1

public boolean onOptionsItemSelected (MenuItem item)

Parameters

item
MenuItem: This value cannot be null.

Returns

boolean

See also:

  • Activity.onOptionsItemSelected(MenuItem)

onOptionsMenuClosed

Added in API level 1

public void onOptionsMenuClosed (Menu menu)

Parameters

menu
Menu: This value cannot be null.

See also:

  • Activity.onOptionsMenuClosed(Menu)

onPanelClosed

Added in API level 1

public void onPanelClosed (int featureId, 
                Menu menu)

Called when a panel is being closed. If another logical subsequent
panel is being opened (and this panel is being closed to make room for the subsequent
panel), this method will NOT be called.

Parameters

featureId
int: The panel that is being displayed.

menu
Menu: This value cannot be null.

See also:

  • Activity.onPanelClosed(int, Menu)

onPrepareOptionsMenu

Added in API level 1

public boolean onPrepareOptionsMenu (Menu menu)

It is usually safe to proxy this call to the owner activity’s
Activity#onPrepareOptionsMenu(Menu) if the client desires the
same menu for this Dialog.

Parameters

menu
Menu: This value cannot be null.

Returns

boolean

See also:

  • Activity.onPrepareOptionsMenu(Menu)
  • getOwnerActivity()

onPreparePanel

Added in API level 1

public boolean onPreparePanel (int featureId, 
                View view, 
                Menu menu)

Prepare a panel to be displayed. This is called right before the
panel window is shown, every time it is shown.

Parameters

featureId
int: The panel that is being displayed.

view
View: This value may be null.

menu
Menu: This value cannot be null.

Returns

boolean
boolean You must return true for the panel to be displayed;
if you return false it will not be shown.

See also:

  • Activity.onPreparePanel(int, View, Menu)

onRestoreInstanceState

Added in API level 1

public void onRestoreInstanceState (Bundle savedInstanceState)

Restore the state of the dialog from a previously saved bundle.

The default implementation restores the state of the dialog’s view
hierarchy that was saved in the default implementation of onSaveInstanceState(),
so be sure to call through to super when overriding unless you want to
do all restoring of state yourself.

Parameters

savedInstanceState
Bundle: The state of the dialog previously saved by
onSaveInstanceState().

This value cannot be null.

onSaveInstanceState

Added in API level 1

public Bundle onSaveInstanceState ()

Saves the state of the dialog into a bundle.

The default implementation saves the state of its view hierarchy, so you’ll
likely want to call through to super if you override this to save additional
state.

Returns

Bundle
A bundle with the state of the dialog.

This value cannot be null.

onSearchRequested

Added in API level 23

public boolean onSearchRequested (SearchEvent searchEvent)

This hook is called when the user signals the desire to start a search.

Parameters

searchEvent
SearchEvent: This value cannot be null.

Returns

boolean
true if search launched, false if activity refuses (blocks)

onSearchRequested

Added in API level 1

public boolean onSearchRequested ()

This hook is called when the user signals the desire to start a search.

Returns

boolean
true if search launched, false if activity refuses (blocks)

onTouchEvent

Added in API level 1

public boolean onTouchEvent (MotionEvent event)

Called when a touch screen event was not handled by any of the views
under it. This is most useful to process touch events that happen outside
of your window bounds, where there is no view to receive it.

Parameters

event
MotionEvent: The touch screen event being processed.
This value cannot be null.

Returns

boolean
Return true if you have consumed the event, false if you haven’t.
The default implementation will cancel the dialog when a touch
happens outside of the window bounds.

onTrackballEvent

Added in API level 1

public boolean onTrackballEvent (MotionEvent event)

Called when the trackball was moved and not handled by any of the
views inside of the activity. So, for example, if the trackball moves
while focus is on a button, you will receive a call here because
buttons do not normally do anything with trackball events. The call
here happens before trackball movements are converted to
DPAD key events, which then get sent back to the view hierarchy, and
will be processed at the point for things like focus navigation.

Parameters

event
MotionEvent: The trackball event being processed.

This value cannot be null.

Returns

boolean
Return true if you have consumed the event, false if you haven’t.
The default implementation always returns false.

onWindowAttributesChanged

Added in API level 1

public void onWindowAttributesChanged (WindowManager.LayoutParams params)

This is called whenever the current window attributes change.

Parameters

params
WindowManager.LayoutParams

onWindowFocusChanged

Added in API level 1

public void onWindowFocusChanged (boolean hasFocus)

This hook is called whenever the window focus changes. See
View.onWindowFocusChangedNotLocked(boolean) for more information.

Parameters

hasFocus
boolean: Whether the window now has focus.

onWindowStartingActionMode

Added in API level 11

public ActionMode onWindowStartingActionMode (ActionMode.Callback callback)

Called when an action mode is being started for this window. Gives the
callback an opportunity to handle the action mode in its own unique and
beautiful way. If this method returns null the system can choose a way
to present the mode or choose not to start the mode at all. This is equivalent
to onWindowStartingActionMode(android.view.ActionMode.Callback, int)
with type ActionMode#TYPE_PRIMARY.

Parameters

callback
ActionMode.Callback: Callback to control the lifecycle of this action mode

Returns

ActionMode
The ActionMode that was started, or null if the system should present it

onWindowStartingActionMode

Added in API level 23

public ActionMode onWindowStartingActionMode (ActionMode.Callback callback, 
                int type)

Called when an action mode is being started for this window. Gives the
callback an opportunity to handle the action mode in its own unique and
beautiful way. If this method returns null the system can choose a way
to present the mode or choose not to start the mode at all.

Parameters

callback
ActionMode.Callback: Callback to control the lifecycle of this action mode

type
int: One of ActionMode#TYPE_PRIMARY or ActionMode#TYPE_FLOATING.

Returns

ActionMode
The ActionMode that was started, or null if the system should present it

openContextMenu

Added in API level 1

public void openContextMenu (View view)

Parameters

view
View: This value cannot be null.

See also:

  • Activity.openContextMenu(View)

openOptionsMenu

Added in API level 1

public void openOptionsMenu ()

See also:

  • Activity.openOptionsMenu()

registerForContextMenu

Added in API level 1

public void registerForContextMenu (View view)

Parameters

view
View: This value cannot be null.

See also:

  • Activity.registerForContextMenu(View)

requestWindowFeature

Added in API level 1

public final boolean requestWindowFeature (int featureId)

Enable extended window features. This is a convenience for calling
getWindow().requestFeature().

Parameters

featureId
int: The desired feature as defined in
Window.

Returns

boolean
Returns true if the requested feature is supported and now
enabled.

See also:

  • Window.requestFeature(int)

requireViewById

Added in API level 28

public final T requireViewById (int id)

Finds the first descendant view with the given ID or throws an IllegalArgumentException if
the ID is invalid (< 0), there is no matching view in the hierarchy, or the dialog has not
yet been fully created (for example, via show() or create()).

Note: In most cases — depending on compiler support —
the resulting view is automatically cast to the target class type. If
the target class type is unconstrained, an explicit cast may be
necessary.

Parameters

id
int: the ID to search for

Returns

T
a view with given ID
This value cannot be null.

See also:

  • View.requireViewById(int)
  • findViewById(int)

setCancelMessage

Added in API level 1

public void setCancelMessage (Message msg)

Set a message to be sent when the dialog is canceled.

Parameters

msg
Message: The msg to send when the dialog is canceled.
This value may be null.

See also:

  • setOnCancelListener(android.content.DialogInterface.OnCancelListener)

setCancelable

Added in API level 1

public void setCancelable (boolean flag)

Sets whether this dialog is cancelable with the
BACK key.

Parameters

flag
boolean

setCanceledOnTouchOutside

Added in API level 1

public void setCanceledOnTouchOutside (boolean cancel)

Sets whether this dialog is canceled when touched outside the window’s
bounds. If setting to true, the dialog is set to be cancelable if not
already set.

Parameters

cancel
boolean: Whether the dialog should be canceled when touched outside
the window.

setContentView

Added in API level 1

public void setContentView (int layoutResID)

Set the screen content from a layout resource. The resource will be
inflated, adding all top-level views to the screen.

Parameters

layoutResID
int: Resource ID to be inflated.

setContentView

Added in API level 1

public void setContentView (View view, 
                ViewGroup.LayoutParams params)

Set the screen content to an explicit view. This view is placed
directly into the screen’s view hierarchy. It can itself be a complex
view hierarchy.

Parameters

view
View: The desired content to display.
This value cannot be null.

params
ViewGroup.LayoutParams: Layout parameters for the view.

This value may be null.

setContentView

Added in API level 1

public void setContentView (View view)

Set the screen content to an explicit view. This view is placed
directly into the screen’s view hierarchy. It can itself be a complex
view hierarchy.

Parameters

view
View: The desired content to display.

This value cannot be null.

setDismissMessage

Added in API level 1

public void setDismissMessage (Message msg)

Set a message to be sent when the dialog is dismissed.

Parameters

msg
Message: The msg to send when the dialog is dismissed.

This value may be null.

setFeatureDrawable

Added in API level 1

public final void setFeatureDrawable (int featureId, 
                Drawable drawable)

Convenience for calling
Window.setFeatureDrawable(int, Drawable).

Parameters

featureId
int
drawable
Drawable: This value may be null.

setFeatureDrawableAlpha

Added in API level 1

public final void setFeatureDrawableAlpha (int featureId, 
                int alpha)

Convenience for calling
Window.setFeatureDrawableAlpha(int, int).

Parameters

featureId
int
alpha
int

setFeatureDrawableResource

Added in API level 1

public final void setFeatureDrawableResource (int featureId, 
                int resId)

Convenience for calling
Window.setFeatureDrawableResource(int, int).

Parameters

featureId
int
resId
int

setFeatureDrawableUri

Added in API level 1

public final void setFeatureDrawableUri (int featureId, 
                Uri uri)

Convenience for calling
Window.setFeatureDrawableUri(int, Uri).

Parameters

featureId
int
uri
Uri: This value may be null.

setOnCancelListener

Added in API level 1

public void setOnCancelListener (DialogInterface.OnCancelListener listener)

Set a listener to be invoked when the dialog is canceled.

This will only be invoked when the dialog is canceled.
Cancel events alone will not capture all ways that
the dialog might be dismissed. If the creator needs
to know when a dialog is dismissed in general, use
setOnDismissListener(DialogInterface.OnDismissListener).

Parameters

listener
DialogInterface.OnCancelListener: The DialogInterface.OnCancelListener to use.

This value may be null.

setOnDismissListener

Added in API level 1

public void setOnDismissListener (DialogInterface.OnDismissListener listener)

Set a listener to be invoked when the dialog is dismissed.

Parameters

listener
DialogInterface.OnDismissListener: The DialogInterface.OnDismissListener to use.

This value may be null.

setOnKeyListener

Added in API level 1

public void setOnKeyListener (DialogInterface.OnKeyListener onKeyListener)

Sets the callback that will be called if a key is dispatched to the dialog.

Parameters

onKeyListener
DialogInterface.OnKeyListener: This value may be null.

setOnShowListener

Added in API level 8

public void setOnShowListener (DialogInterface.OnShowListener listener)

Sets a listener to be invoked when the dialog is shown.

Parameters

listener
DialogInterface.OnShowListener: The DialogInterface.OnShowListener to use.

This value may be null.

setOwnerActivity

Added in API level 1

public final void setOwnerActivity (Activity activity)

Sets the Activity that owns this dialog. An example use: This Dialog will
use the suggested volume control stream of the Activity.

Parameters

activity
Activity: The Activity that owns this dialog.

This value cannot be null.

setTitle

Added in API level 1

public void setTitle (CharSequence title)

Set the title text for this dialog’s window.

Parameters

title
CharSequence: The new text to display in the title.

This value may be null.

setTitle

Added in API level 1

public void setTitle (int titleId)

Set the title text for this dialog’s window. The text is retrieved
from the resources with the supplied identifier.

Parameters

titleId
int: the title’s text resource identifier

setVolumeControlStream

Added in API level 1

public final void setVolumeControlStream (int streamType)

By default, this will use the owner Activity’s suggested stream type.

Parameters

streamType
int

See also:

  • Activity.setVolumeControlStream(int)
  • setOwnerActivity(Activity)

show

Added in API level 1

public void show ()

Start the dialog and display it on screen. The window is placed in the
application layer and opaque. Note that you should not override this
method to do initialization when the dialog is shown, instead implement
that in onStart().

takeKeyEvents

Added in API level 1

public void takeKeyEvents (boolean get)

Request that key events come to this dialog. Use this if your
dialog has no views with focus, but the dialog still wants
a chance to process key events.

Parameters

get
boolean: true if the dialog should receive key events, false otherwise

See also:

  • Window.takeKeyEvents(boolean)

unregisterForContextMenu

Added in API level 1

public void unregisterForContextMenu (View view)

Parameters

view
View: This value cannot be null.

See also:

  • Activity.unregisterForContextMenu(View)

Protected methods

onCreate

Added in API level 1

protected void onCreate (Bundle savedInstanceState)

Similar to Activity#onCreate, you should initialize your dialog
in this method, including calling setContentView(View).

Parameters

savedInstanceState
Bundle: If this dialog is being reinitialized after a
the hosting activity was previously shut down, holds the result from
the most recent call to onSaveInstanceState(), or null if this
is the first time.

onStart

Added in API level 1

protected void onStart ()

Called when the dialog is starting.

onStop

Added in API level 1

protected void onStop ()

Called to tell you that you’re stopping.