Android alert dialog example

In this tutorial, we show you how to display an alert box in Android. See flowing Steps :

  1. First, use the AlertDialog.Builder to create the alert box interface, like title, message to display, buttons, and button onclick function
  2. Later attach above builder to AlertDialog and display it.
  3. Done.

P.S This project is developed in Eclipse 3.7, and tested with Android 2.3.3.

1 Android Layout Files

Simpel layout file, display a button on screen.

File : res/layout/main.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <Button
        android:id="@+id/buttonAlert"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Show Alert Box" />
            
</LinearLayout>

2. Activity

When user click on this button, display the alert box, with your pre-defined alert dialog interface.

File : MainActivity.java


package com.mkyong.android;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

	final Context context = this;
	private Button button;

	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		button = (Button) findViewById(R.id.buttonAlert);

		// add button listener
		button.setOnClickListener(new OnClickListener() {

		@Override
		public void onClick(View arg0) {

			AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
				context);

			// set title
			alertDialogBuilder.setTitle("Your Title");

			// set dialog message
			alertDialogBuilder
				.setMessage("Click yes to exit!")
				.setCancelable(false)
				.setPositiveButton("Yes",new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog,int id) {
						// if this button is clicked, close
						// current activity
						MainActivity.this.finish();
					}
				  })
				.setNegativeButton("No",new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog,int id) {
						// if this button is clicked, just close
						// the dialog box and do nothing
						dialog.cancel();
					}
				});

				// create alert dialog
				AlertDialog alertDialog = alertDialogBuilder.create();

				// show it
				alertDialog.show();
			}
		});
	}
}

3. Demo

Start it, display a button.

android alert box example

When button is clicked, display the alert box

android alert box example

If “Yes” button is clicked, close the activity and return back to your Android main screen.

android alert box example

Download Source Code

Download it – Android-Alert-Dialogl-Example.zip (16 KB)

References

  1. Android AlertDialog Javadoc
  2. Android Dialog example

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities.

Comments

avatar
54 Comment threads
7 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
55 Comment authors
blaAshlyRoyOm DaveAnu_143# Recent comment authors
newest oldest most voted
Roy
Guest
Roy

If i want to display the the alert dialog again i have a user/password login alert box and if authentication fails then display it again

Henry
Guest
Henry

Thanks for giving us a simple and easy to understand example. But if you’re looking for more Android AlertDialog example, take a look at this http://www.codeofaninja.com/2011/07/android-alertdialog-example.html

Simao
Guest
Simao

PositiveButton has to be Yes and NegativeButton has to be no

Nagaraj Nidagundi
Guest
Nagaraj Nidagundi

Thank You , Thank You Very Much Teacher,,,,,,,,,,,,,,

trackback
Android prompt user input dialog example

[…] 9, 2012 , Updated: March 8, 2012 , Author: mkyongIn this tutorial, we will enchance the previous AlertDialog example, to make it able to accept user input, just like a PromptDialog. More specific, this is a […]

Amit
Guest
Amit

Thanks for sharing this awesome peace of code, I really appreciate this…

Christian Peeters
Guest
Christian Peeters

Hi,

Thanks for sharing this code, much appreciated.

It really helped me to get the dialog box working. My first try i forgot to define this variable, instead i used GetApplicationContext()

“final Context context = this;”

After adding “”final Context context = this;” in:

“AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);”

The dialog box was working.

But can you explain why you need to define the variable contex = this; why does GetApplicationContext not work?

Thanks
Best
Christian

Özgür GÜL
Guest
Özgür GÜL

Thank you Yong Mook.

tofeeq
Guest
tofeeq

Thanx mykong for posting such useful info. I also posted about dialog that cover everything about dialog in android.

Link
http://androidtrainningcenter.blogspot.in/2012/07/how-to-create-custom-and-default-alert.html

android
Guest
android

mkyong Thanks for sharing. This article is very useful for android dev.

cris
Guest
cris

hi. thanks for sharing this tutorial.it’s very understandable.i always find your site better than others in tutorials.keep up the good work 🙂

phoodograph
Guest
phoodograph

Thanks for the tutorials. They are straight to the point and simple. I can come to your site and learn what I need to in a matter of seconds or minutes. Other sites drag stuff out too much. For this tut, they would have a page or two going on and on about a simple concept and making it much more complicated than it actually is.

Please keep up the great work! Thanks!!

Naveed Iqbal
Guest
Naveed Iqbal

Thanks Mkyong, your examples are always self explanatory.

Mihail Velikov
Guest
Mihail Velikov

Hello Yong Mook,
I have already seen that you have such a great experience in Android Development it is real pleasure to see that you help others with your tutorials!
Thank you!

pradeep
Guest
pradeep

Thanks for giving this peace of code .which is very useful for me.

Carlos G. González
Guest
Carlos G. González

great work! Thanks!!

Jairo
Guest
Jairo

I cant seem to run the application, always appear a error in console [2012-12-07 21:12:07 – MainActivity] —————————— [2012-12-07 21:12:07 – MainActivity] Android Launch! [2012-12-07 21:12:07 – MainActivity] adb is running normally. [2012-12-07 21:12:07 – MainActivity] Performing com.mkyong.android.MainActivity activity launch [2012-12-07 21:12:07 – MainActivity] Automatic Target Mode: launching new emulator with compatible AVD ‘JairoGalaxyNexus’ [2012-12-07 21:12:07 – MainActivity] Launching a new emulator with Virtual Device ‘JairoGalaxyNexus’ [2012-12-07 21:12:12 – Emulator] Failed to allocate memory: 8 [2012-12-07 21:12:12 – Emulator] [2012-12-07 21:12:12 – Emulator] This application has requested the Runtime to terminate it in an unusual way. [2012-12-07 21:12:12 – Emulator]… Read more »

Robert
Guest
Robert

Great Post.It really got me out of a fix.Thanks

Suthu
Guest
Suthu

HI Yong,

This example looks very simple. My question is is this enough to run the program. Here is another example which has more codes for writing the dialog box. Anyway, thank you for the cleaner explanation.
http://techbreaths.com/2013/01/dialogs-android/

jyoti
Guest
jyoti

nice tutorails..this code help me a lot….

Sr?an Sukara
Guest
Sr?an Sukara

Thank you, it was really helpful.

Jayanth
Guest
Jayanth

Thank you for the information, it really helped a lot.

John
Guest
John

Hi, I’d like to override some methods of AlertDialog Class, therefore I Extend the AlertDialog Class: MyAlertDialog alertDialog = (MyAlertDialog) alertDialogBuilder.create(); instead of mkyong’s code: AlertDialog alertDialog = alertDialogBuilder.create(); Extended class: public class MyAlertDialog extends AlertDialog { public MyAlertDialog (Context context) { super (context); Log.i(TAG,"MyAlertDialog constructor 1"); } public MyAlertDialog (Context context,int theme) { super (context,theme); Log.i(TAG,"MyAlertDialog constructor 2"); } public MyAlertDialog (Context context, boolean cancelable, DialogInterface.OnCancelListener cancelListener) { super (context,cancelable,cancelListener); } } When I run the app, I get a runtime error (What is wrong?): 02-09 02:17:35.709: W/dalvikvm(20492): threadid=1: thread exiting with uncaught exception (group=0x40018578) 02-09 02:17:35.709: E/AndroidRuntime(20492): FATAL… Read more »

Rumit Patel
Guest
Rumit Patel

Thank you, it was really helpful.

Rumit Patel
Guest
Rumit Patel

Thank you VeRy much,

but can i make buttons vertically with this code??

i make it with this code,

——————————————————————————-
Context context = this;
Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.context_layout2);
dialog.show();
———————————————————————————

but,
how can i use setOnClickListener on each of the buttons?

Cindy
Guest
Cindy

Thank you so much for this tutorial! It was as clear as I could hope for, and now I can make alerts!

trackback
I want to add a pop-up dialogue box in my android app : Android Community - For Application Development
El
Guest
El

Thanks for the tips!

Cheers!

computer coupons australia
Guest
computer coupons australia

Hi, i think that i saw you visited my weblog so i came to _return the favor_.
I’m attempting to find things to improve my website!I suppose its ok to use some of your ideas!!

fuck@fucker.com
Guest
fuck@fucker.com

Ass hole