# Print output for @column tags ?> AlertDialog - Android SDK | Android Developers

Most visited

Recently visited

AlertDialog

public class AlertDialog
extends Dialog implements DialogInterface

java.lang.Object
   ↳ android.app.Dialog
     ↳ android.app.AlertDialog


A subclass of Dialog that can display one, two or three buttons. If you only want to display a String in this dialog box, use the setMessage() method. If you want to display a more complex view, look up the FrameLayout called "custom" and add your view to it:

 FrameLayout fl = findViewById(android.R.id.custom);
 fl.addView(myView, new LayoutParams(MATCH_PARENT, WRAP_CONTENT));
 

The AlertDialog class takes care of automatically setting WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM for you based on whether any views in the dialog return true from View.onCheckIsTextEditor(). Generally you want this set for a Dialog without text editors, so that it will be placed on top of the current input method UI. You can modify this behavior by forcing the flag to your desired mode after calling onCreate(Bundle).

Developer Guides

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

Summary

Nested classes

class AlertDialog.Builder

 

Constants

int THEME_DEVICE_DEFAULT_DARK

This constant is deprecated. Use R.style.Theme_DeviceDefault_Dialog_Alert.

int THEME_DEVICE_DEFAULT_LIGHT

This constant is deprecated. Use R.style.Theme_DeviceDefault_Light_Dialog_Alert.

int THEME_HOLO_DARK

This constant is deprecated. Use R.style.Theme_Material_Dialog_Alert.

int THEME_HOLO_LIGHT

This constant is deprecated. Use R.style.Theme_Material_Light_Dialog_Alert.

int THEME_TRADITIONAL

This constant is deprecated. Use R.style.Theme_Material_Dialog_Alert.

Inherited constants

Protected constructors

AlertDialog(Context context)

Creates an alert dialog that uses the default alert dialog theme.

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

Creates an alert dialog that uses the default alert dialog theme and a custom cancel listener.

AlertDialog(Context context, int themeResId)

Creates an alert dialog that uses an explicit theme resource.

Public methods

Button getButton(int whichButton)

Gets one of the buttons used in the dialog.

ListView getListView()

Gets the list view used in the dialog.

boolean onKeyDown(int keyCode, KeyEvent event)

A key was pressed down.

boolean onKeyUp(int keyCode, KeyEvent event)

A key was released.

void setButton(CharSequence text, DialogInterface.OnClickListener listener)

This method is deprecated. Use setButton(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener) with DialogInterface#BUTTON_POSITIVE

void setButton(int whichButton, CharSequence text, DialogInterface.OnClickListener listener)

Set a listener to be invoked when the specified button of the dialog is pressed.

void setButton(CharSequence text, Message msg)

This method is deprecated. Use setButton(int, java.lang.CharSequence, android.os.Message) with DialogInterface#BUTTON_POSITIVE.

void setButton(int whichButton, CharSequence text, Message msg)

Set a message to be sent when a button is pressed.

void setButton2(CharSequence text, Message msg)

This method is deprecated. Use setButton(int, java.lang.CharSequence, android.os.Message) with DialogInterface#BUTTON_NEGATIVE.

void setButton2(CharSequence text, DialogInterface.OnClickListener listener)

This method is deprecated. Use setButton(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener) with DialogInterface#BUTTON_NEGATIVE

void setButton3(CharSequence text, Message msg)

This method is deprecated. Use setButton(int, java.lang.CharSequence, android.os.Message) with DialogInterface#BUTTON_NEUTRAL.

void setButton3(CharSequence text, DialogInterface.OnClickListener listener)

This method is deprecated. Use setButton(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener) with DialogInterface#BUTTON_NEUTRAL

void setCustomTitle(View customTitleView)
void setIcon(Drawable icon)
void setIcon(int resId)

Set resId to 0 if you don't want an icon.

void setIconAttribute(int attrId)

Set an icon as supplied by a theme attribute.

void setInverseBackgroundForced(boolean forceInverseBackground)
void setMessage(CharSequence message)
void setTitle(CharSequence title)

Set the title text for this dialog's window.

void setView(View view, int viewSpacingLeft, int viewSpacingTop, int viewSpacingRight, int viewSpacingBottom)

Set the view to display in that dialog, specifying the spacing to appear around that view.

void setView(View view)

Set the view to display in that dialog.

Protected methods

void onCreate(Bundle savedInstanceState)

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

Inherited methods

Constants

THEME_DEVICE_DEFAULT_DARK

public static final int THEME_DEVICE_DEFAULT_DARK

This constant is deprecated.
Use R.style.Theme_DeviceDefault_Dialog_Alert.

Special theme constant for AlertDialog(android.content.Context, int): use the device's default alert theme with a dark background.

Constant Value: 4 (0x00000004)

THEME_DEVICE_DEFAULT_LIGHT

public static final int THEME_DEVICE_DEFAULT_LIGHT

This constant is deprecated.
Use R.style.Theme_DeviceDefault_Light_Dialog_Alert.

Special theme constant for AlertDialog(android.content.Context, int): use the device's default alert theme with a light background.

Constant Value: 5 (0x00000005)

THEME_HOLO_DARK

public static final int THEME_HOLO_DARK

This constant is deprecated.
Use R.style.Theme_Material_Dialog_Alert.

Special theme constant for AlertDialog(android.content.Context, int): use the holographic alert theme with a dark background.

Constant Value: 2 (0x00000002)

THEME_HOLO_LIGHT

public static final int THEME_HOLO_LIGHT

This constant is deprecated.
Use R.style.Theme_Material_Light_Dialog_Alert.

Special theme constant for AlertDialog(android.content.Context, int): use the holographic alert theme with a light background.

Constant Value: 3 (0x00000003)

THEME_TRADITIONAL

public static final int THEME_TRADITIONAL

This constant is deprecated.
Use R.style.Theme_Material_Dialog_Alert.

Special theme constant for AlertDialog(android.content.Context, int): use the traditional (pre-Holo) alert dialog theme.

Constant Value: 1 (0x00000001)

Protected constructors

AlertDialog

protected AlertDialog (Context context)

Creates an alert dialog that uses the default alert dialog theme.

The default alert dialog theme is defined by R.attr.alertDialogTheme within the parent context's theme.

Parameters
context Context: the parent context

See also:

AlertDialog

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

Creates an alert dialog that uses the default alert dialog theme and a custom cancel listener.

This is functionally identical to:

     AlertDialog dialog = new AlertDialog(context);
     alertDialog.setCancelable(cancelable);
     alertDialog.setOnCancelListener(cancelListener);
 

The default alert dialog theme is defined by R.attr.alertDialogTheme within the parent context's theme.

Parameters
context Context: the parent context

cancelable boolean

cancelListener DialogInterface.OnCancelListener

See also:

AlertDialog

protected AlertDialog (Context context, 
                int themeResId)

Creates an alert dialog that uses an explicit theme resource.

The specified theme resource (themeResId) is applied on top of the parent context's theme. It may be specified as a style resource containing a fully-populated theme, such as R.style.Theme_Material_Dialog, to replace all attributes in the parent context's theme including primary and accent colors.

To preserve attributes such as primary and accent colors, the themeResId may instead be specified as an overlay theme such as R.style.ThemeOverlay_Material_Dialog. This will override only the window attributes necessary to style the alert window as a dialog.

Alternatively, the themeResId may be specified as 0 to use the parent context's resolved value for R.attr.alertDialogTheme.

Parameters
context Context: the parent context

themeResId int: the resource ID of the theme against which to inflate this dialog, or 0 to use the parent context's default alert dialog theme

See also:

Public methods

getButton

public Button getButton (int whichButton)

Gets one of the buttons used in the dialog. Returns null if the specified button does not exist or the dialog has not yet been fully created (for example, via Dialog.show() or Dialog.create()).

Parameters
whichButton int: The identifier of the button that should be returned. For example, this can be DialogInterface#BUTTON_POSITIVE.

Returns
Button The button from the dialog, or null if a button does not exist.

getListView

public ListView getListView ()

Gets the list view used in the dialog.

Returns
ListView The ListView from the dialog.

onKeyDown

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.

onKeyUp

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.

setButton

public void setButton (CharSequence text, 
                DialogInterface.OnClickListener listener)

This method is deprecated.
Use setButton(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener) with DialogInterface#BUTTON_POSITIVE

Set a listener to be invoked when button 1 of the dialog is pressed.

Parameters
text CharSequence: The text to display in button 1.

listener DialogInterface.OnClickListener: The DialogInterface.OnClickListener to use.

setButton

public void setButton (int whichButton, 
                CharSequence text, 
                DialogInterface.OnClickListener listener)

Set a listener to be invoked when the specified button of the dialog is pressed.

Parameters
whichButton int: Which button to set the listener on, can be one of DialogInterface#BUTTON_POSITIVE, DialogInterface#BUTTON_NEGATIVE, or DialogInterface#BUTTON_NEUTRAL

text CharSequence: The text to display in positive button.

listener DialogInterface.OnClickListener: The DialogInterface.OnClickListener to use.

setButton

public void setButton (CharSequence text, 
                Message msg)

This method is deprecated.
Use setButton(int, java.lang.CharSequence, android.os.Message) with DialogInterface#BUTTON_POSITIVE.

Parameters
text CharSequence

msg Message

setButton

public void setButton (int whichButton, 
                CharSequence text, 
                Message msg)

Set a message to be sent when a button is pressed.

Parameters
whichButton int: Which button to set the message for, can be one of DialogInterface#BUTTON_POSITIVE, DialogInterface#BUTTON_NEGATIVE, or DialogInterface#BUTTON_NEUTRAL

text CharSequence: The text to display in positive button.

msg Message: The Message to be sent when clicked.

setButton2

public void setButton2 (CharSequence text, 
                Message msg)

This method is deprecated.
Use setButton(int, java.lang.CharSequence, android.os.Message) with DialogInterface#BUTTON_NEGATIVE.

Parameters
text CharSequence

msg Message

setButton2

public void setButton2 (CharSequence text, 
                DialogInterface.OnClickListener listener)

This method is deprecated.
Use setButton(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener) with DialogInterface#BUTTON_NEGATIVE

Set a listener to be invoked when button 2 of the dialog is pressed.

Parameters
text CharSequence: The text to display in button 2.

listener DialogInterface.OnClickListener: The DialogInterface.OnClickListener to use.

setButton3

public void setButton3 (CharSequence text, 
                Message msg)

This method is deprecated.
Use setButton(int, java.lang.CharSequence, android.os.Message) with DialogInterface#BUTTON_NEUTRAL.

Parameters
text CharSequence

msg Message

setButton3

public void setButton3 (CharSequence text, 
                DialogInterface.OnClickListener listener)

This method is deprecated.
Use setButton(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener) with DialogInterface#BUTTON_NEUTRAL

Set a listener to be invoked when button 3 of the dialog is pressed.

Parameters
text CharSequence: The text to display in button 3.

listener DialogInterface.OnClickListener: The DialogInterface.OnClickListener to use.

setCustomTitle

public void setCustomTitle (View customTitleView)

Parameters
customTitleView View

See also:

setIcon

public void setIcon (Drawable icon)

Parameters
icon Drawable

setIcon

public void setIcon (int resId)

Set resId to 0 if you don't want an icon.

Parameters
resId int: the resourceId of the drawable to use as the icon or 0 if you don't want an icon.

setIconAttribute

public void setIconAttribute (int attrId)

Set an icon as supplied by a theme attribute. e.g. android.R.attr.alertDialogIcon

Parameters
attrId int: ID of a theme attribute that points to a drawable resource.

setInverseBackgroundForced

public void setInverseBackgroundForced (boolean forceInverseBackground)

Parameters
forceInverseBackground boolean

setMessage

public void setMessage (CharSequence message)

Parameters
message CharSequence

setTitle

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.

setView

public void setView (View view, 
                int viewSpacingLeft, 
                int viewSpacingTop, 
                int viewSpacingRight, 
                int viewSpacingBottom)

Set the view to display in that dialog, specifying the spacing to appear around that view.

Parameters
view View: The view to show in the content area of the dialog

viewSpacingLeft int: Extra space to appear to the left of view

viewSpacingTop int: Extra space to appear above view

viewSpacingRight int: Extra space to appear to the right of view

viewSpacingBottom int: Extra space to appear below view

setView

public void setView (View view)

Set the view to display in that dialog.

Parameters
view View

Protected methods

onCreate

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 Dialog.onSaveInstanceState(), or null if this is the first time.