0% found this document useful (0 votes)
264 views

Android Code Example: Alert Dialog

1) The document discusses different types of dialogs that can be created in Android, including alert dialogs, progress dialogs, date/time pickers, and more. 2) An alert dialog is the suggested dialog type that can manage buttons and lists. It extends the Dialog class. 3) Example code is provided to create various alert dialogs with buttons, lists, progress bars, and input fields using Android Studio.

Uploaded by

vir
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
264 views

Android Code Example: Alert Dialog

1) The document discusses different types of dialogs that can be created in Android, including alert dialogs, progress dialogs, date/time pickers, and more. 2) An alert dialog is the suggested dialog type that can manage buttons and lists. It extends the Dialog class. 3) Example code is provided to create various alert dialogs with buttons, lists, progress bars, and input fields using Android Studio.

Uploaded by

vir
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

AndroidCode

Example
Android Source code example for Android development. Android
3 .. 2556

AlertDialog
Android Alert Dialog

A dialog is usually a small window that appears in front of the current Activity. The
underlying Activity loses focus and the dialog accepts all user interaction. Dialogs are
normally used for notifications that should interrupt the user and to perform short tasks that
directly relate to the application in progress (such as a progress bar or a login prompt).
The Dialog class is the base class for creating dialogs. However, you typically should not
instantiate a Dialog directly. Instead, you should use one of the following subclasses:
AlertDialog

A dialog that can manage zero, one, two, or three buttons, and/or a list of
selectable items that can include checkboxes or radio buttons. The AlertDialog is
capable of constructing most dialog user interfaces and is the suggested dialog
type.
ProgressDialog

A dialog that displays a progress wheel or progress bar. Because it's an


extension of the AlertDialog, it also supports buttons.
DatePickerDialog

A dialog that allows the user to select a date.


TimePickerDialog

A dialog that allows the user to select a time.


http://developer.android.com/reference/android/app/AlertDialog.html

Alert Dialog

-->
Alert Dialog MainActivity.java Source Code
package com.example.alertdialog;
import
import
import
import
import
import
import
import
import

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

public class MainActivity extends Activity {


final Context context = this;
private Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_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 Here");
// set dialog message
alertDialogBuilder
.setMessage("Click Yes to Exit !!!")
.setCancelable(false)
.setPositiveButton("Yes",new DialogInterface.OnClickListe
ner() {
public void onClick(DialogInterface
dialog,int id) {
// if this button is clicked, close
// current activity
MainActivity.this.finish();
}
})
.setNegativeButton("No",new DialogInterface.OnClickListe
ner() {
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();
}
});
}
}

Alert Dialogs ( Many Type of


Dialog )

Alert Dialogs Activity.java


Source code
package android.example.alertdialogs;
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import

android.annotation.TargetApi;
android.app.Activity;
android.app.AlertDialog;
android.app.Dialog;
android.app.ProgressDialog;
android.content.DialogInterface;
android.os.Bundle;
android.os.Handler;
android.os.Message;
android.view.LayoutInflater;
android.view.View;
android.view.View.OnClickListener;
android.widget.Button;
android.widget.Toast;
android.database.Cursor;
android.provider.ContactsContract;

@TargetApi(11)
public class AlertDialogsActivity extends Activity {
private static final int DIALOG_YES_NO_MESSAGE =
1;
private static final int DIALOG_YES_NO_LONG_MESSA
GE = 2;

private
private
private
private

static
static
static
static

final
final
final
final

int
int
int
int

DIALOG_LIST = 3;
DIALOG_PROGRESS = 4;
DIALOG_SINGLE_CHOICE = 5;
DIALOG_MULTIPLE_CHOICE =

6;
private static
private static
RSOR = 8;
private static
_MESSAGE = 9;
private static
_MESSAGE = 10;
private static
MESSAGE = 11;

final int DIALOG_TEXT_ENTRY = 7;


final int DIALOG_MULTIPLE_CHOICE_CU
final int DIALOG_YES_NO_ULTRA_LONG
final int DIALOG_YES_NO_OLD_SCHOOL
final int DIALOG_YES_NO_HOLO_LIGHT_

private static final int MAX_PROGRESS = 100;


private ProgressDialog mProgressDialog;
private int mProgress;
private Handler mProgressHandler;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.alert_dialog);
/* Display a text message with yes/no buttons and
handle each message as well as the cancel action */
Button twoButtonsTitle = (Button)
findViewById(R.id.two_buttons);
twoButtonsTitle.setOnClickListener(new OnClickListener()
{
public void onClick(View v) {
showDialog(DIALOG_YES_NO_MESSAGE);
}
});
/* Display a long text message with yes/no buttons
and handle each message as well as the cancel action */
Button twoButtons2Title = (Button)
findViewById(R.id.two_buttons2);
twoButtons2Title.setOnClickListener(new OnClickListener(
){
public void onClick(View v) {
showDialog(DIALOG_YES_NO_LONG_MESSAGE);

}
});
/* Display an ultra long text message with yes/no
buttons and handle each message as well as the cancel
action */
Button twoButtons2UltraTitle = (Button)
findViewById(R.id.two_buttons2ultra);
twoButtons2UltraTitle.setOnClickListener(new OnClickList
ener() {
public void onClick(View v) {
showDialog(DIALOG_YES_NO_ULTRA_LONG_MES
SAGE);
}
});
/* Display a list of items */
Button selectButton = (Button)
findViewById(R.id.select_button);
selectButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showDialog(DIALOG_LIST);
}
});
/* Display a custom progress bar */
Button progressButton = (Button)
findViewById(R.id.progress_button);
progressButton.setOnClickListener(new OnClickListener()
{
public void onClick(View v) {
showDialog(DIALOG_PROGRESS);
mProgress = 0;
mProgressDialog.setProgress(0);
mProgressHandler.sendEmptyMessage(0);
}
});
/* Display a radio button group */
Button radioButton = (Button)
findViewById(R.id.radio_button);
radioButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showDialog(DIALOG_SINGLE_CHOICE);

}
});
/* Display a list of checkboxes */
Button checkBox = (Button)
findViewById(R.id.checkbox_button);
checkBox.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showDialog(DIALOG_MULTIPLE_CHOICE);
}
});
/* Display a list of checkboxes, backed by a cursor */
Button checkBox2 = (Button)
findViewById(R.id.checkbox_button2);
checkBox2.setOnClickListener(new OnClickListener()
{
public void onClick(View v) {
showDialog(DIALOG_MULTIPLE_CHOICE_CURSOR
);
}
});
/* Display a text entry dialog */
Button textEntry = (Button)
findViewById(R.id.text_entry_button);
textEntry.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showDialog(DIALOG_TEXT_ENTRY);
}
});
/* Two points, in the traditional theme */
Button twoButtonsOldSchoolTitle = (Button)
findViewById(R.id.two_buttons_old_school);
twoButtonsOldSchoolTitle.setOnClickListener(new OnClick
Listener() {
public void onClick(View v) {
showDialog(DIALOG_YES_NO_OLD_SCHOOL_MES
SAGE);
}
});
/* Two points, in the light holographic theme */
Button twoButtonsHoloLightTitle = (Button)
findViewById(R.id.two_buttons_holo_light);
twoButtonsHoloLightTitle.setOnClickListener(new OnClick
Listener() {

public void onClick(View v) {


showDialog(DIALOG_YES_NO_HOLO_LIGHT_MES
SAGE);
}
});
mProgressHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (mProgress >= MAX_PROGRESS) {
mProgressDialog.dismiss();
} else {
mProgress++;
mProgressDialog.incrementProgressBy(1);
mProgressHandler.sendEmptyMessageDelaye
d(0, 100);
}
}
};
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_YES_NO_MESSAGE:
return new AlertDialog.Builder(AlertDialogsActivit
y.this)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(R.string.alert_dialog_two_buttons_title)
.setPositiveButton(R.string.alert_dialog_ok, new DialogInte
rface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.setNegativeButton(R.string.alert_dialog_cancel, newDialo
gInterface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked Cancel so do some stuff */
}
})
.create();
case DIALOG_YES_NO_OLD_SCHOOL_MESSAGE:

return new AlertDialog.Builder(AlertDialogsActivit


y.this, AlertDialog.THEME_TRADITIONAL)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(R.string.alert_dialog_two_buttons_title)
.setPositiveButton(R.string.alert_dialog_ok, new DialogInte
rface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
}
})
.setNegativeButton(R.string.alert_dialog_cancel, newDialo
gInterface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
}
})
.create();
case DIALOG_YES_NO_HOLO_LIGHT_MESSAGE:
return new AlertDialog.Builder(AlertDialogsActivit
y.this, AlertDialog.THEME_HOLO_LIGHT)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(R.string.alert_dialog_two_buttons_title)
.setPositiveButton(R.string.alert_dialog_ok, new DialogInte
rface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
}
})
.setNegativeButton(R.string.alert_dialog_cancel, newDialo
gInterface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
}
})
.create();
case DIALOG_YES_NO_LONG_MESSAGE:
return new AlertDialog.Builder(AlertDialogsActivit
y.this)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(R.string.alert_dialog_two_buttons_msg)
.setMessage(R.string.alert_dialog_two_buttons2_msg)

.setPositiveButton(R.string.alert_dialog_ok, new DialogInte


rface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.setNeutralButton(R.string.alert_dialog_something, newDi
alogInterface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked Something so do some stuff
*/
}
})
.setNegativeButton(R.string.alert_dialog_cancel, newDialo
gInterface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked Cancel so do some stuff */
}
})
.create();
case DIALOG_YES_NO_ULTRA_LONG_MESSAGE:
return new AlertDialog.Builder(AlertDialogsActivit
y.this)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(R.string.alert_dialog_two_buttons_msg)
.setMessage(R.string.alert_dialog_two_buttons2ultra_msg)
.setPositiveButton(R.string.alert_dialog_ok, new DialogInte
rface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.setNeutralButton(R.string.alert_dialog_something, newDi
alogInterface.OnClickListener() {

public void onClick(DialogInterface


dialog, int whichButton) {
/* User clicked Something so do some stuff
*/
}
})
.setNegativeButton(R.string.alert_dialog_cancel, newDialo
gInterface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked Cancel so do some stuff */
}
})
.create();
case DIALOG_LIST:
return new AlertDialog.Builder(AlertDialogsActivit
y.this)
.setTitle(R.string.select_dialog)
.setItems(R.array.select_dialog_items, new DialogInterface
.OnClickListener() {
public void onClick(DialogInterface
dialog, int which) {
/* User clicked so do some stuff */
String[] items =
getResources().getStringArray(R.array.select_dialog_items)
;
new AlertDialog.Builder(AlertDialogsActivity.this)
.setMessage("You selected: " + which
+ " , " + items[which])
.show();
}
})
.create();
case DIALOG_PROGRESS:
mProgressDialog = new ProgressDialog(AlertDialo
gsActivity.this);
mProgressDialog.setIconAttribute(android.R.attr.al
ertDialogIcon);
mProgressDialog.setTitle(R.string.select_dialog);
mProgressDialog.setProgressStyle(ProgressDialog.
STYLE_HORIZONTAL);
mProgressDialog.setMax(MAX_PROGRESS);

mProgressDialog.setButton(DialogInterface.BUTTO
N_POSITIVE,
getText(R.string.alert_dialog_hide), new DialogInterface.O
nClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked Yes so do some stuff */
}
});
mProgressDialog.setButton(DialogInterface.BUTTO
N_NEGATIVE,
getText(R.string.alert_dialog_cancel), new DialogInterface.
OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked No so do some stuff */
}
});
return mProgressDialog;
case DIALOG_SINGLE_CHOICE:
return new AlertDialog.Builder(AlertDialogsActivit
y.this)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(R.string.alert_dialog_single_choice)
.setSingleChoiceItems(R.array.select_dialog_items2,
0, newDialogInterface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked on a radio button do some
stuff */
}
})
.setPositiveButton(R.string.alert_dialog_ok, new DialogInte
rface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked Yes so do some stuff */
}
})

.setNegativeButton(R.string.alert_dialog_cancel, newDialo
gInterface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked No so do some stuff */
}
})
.create();
case DIALOG_MULTIPLE_CHOICE:
return new AlertDialog.Builder(AlertDialogsActivit
y.this)
.setIcon(R.drawable.ic_popup_reminder)
.setTitle(R.string.alert_dialog_multi_choice)
.setMultiChoiceItems(R.array.select_dialog_items3,
new boolean[]{false, true, false, true, f
alse, false, false},
new DialogInterface.OnMultiChoiceClickLis
tener() {
public void onClick(DialogInterface
dialog, int whichButton,
boolean isChecked) {
/* User clicked on a check box do
some stuff */
}
})
.setPositiveButton(R.string.alert_dialog_ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked Yes so do some stuff */
}
})
.setNegativeButton(R.string.alert_dialog_cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked No so do some stuff */
}
})
.create();
case DIALOG_MULTIPLE_CHOICE_CURSOR:
String[] projection = new String[] {

ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.Contacts.SEND_TO_VOICEMAIL
};
Cursor cursor
= managedQuery(ContactsContract.Contacts.CONTENT_U
RI,
projection, null, null, null);
return new AlertDialog.Builder(AlertDialogsActi
vity.this)
.setIcon(R.drawable.ic_popup_reminder)
.setTitle(R.string.alert_dialog_multi_choice_cursor)
.setMultiChoiceItems(cursor,
ContactsContract.Contacts.SEND_TO_VOICEMAIL,
ContactsContract.Contacts.DISPLAY_NAME,
new DialogInterface.OnMultiChoiceClick
Listener() {
public void onClick(DialogInterface
dialog, int whichButton,
boolean isChecked) {
Toast.makeText(AlertDialogsActivity.this,
"Readonly Demo Only - Data
will not be updated",
Toast.LENGTH_SHORT).show();
}
})
.create();
case DIALOG_TEXT_ENTRY:
// This example shows how to add a custom layout
to an AlertDialog
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView =
factory.inflate(R.layout.alert_dialog_text_entry, null);
return new AlertDialog.Builder(AlertDialogsActivit
y.this)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(R.string.alert_dialog_text_entry)
.setView(textEntryView)
.setPositiveButton(R.string.alert_dialog_ok, new DialogInte
rface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {

/* User clicked OK so do some stuff */


}
})
.setNegativeButton(R.string.alert_dialog_cancel, newDialo
gInterface.OnClickListener() {
public void onClick(DialogInterface
dialog, int whichButton) {
/* User clicked cancel so do some stuff */
}
})
.create();
}
return null;
}
}

You might also like