Tóm Tắt
Dialog
Kotlin
|
Java
public
class
Dialog
extends Object
implements
DialogInterface,
Window.Callback,
KeyEvent.Callback,
View.OnCreateContextMenuListener
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.
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
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
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.
From interface
abstract
void
cancel()
Cancels the dialog, invoking the OnCancelListener
.
abstract
void
dismiss()
Dismisses the dialog, invoking the OnDismissListener
.
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 AccessibilityEvent
s.
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.
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.
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 AccessibilityEvent
s.
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.