Dialogs:
To show some information to the user, to take simple input from the user, we push a dialog to the user.
We have different types of Dialogs.
1) AlertDialog
2) DatePickerDialog
3) TimePickerDialog
4) ProgressDialog
To create a dialog, we have following steps:
1) Create object of appropriate dialog class by passing required parameters in the constructor
2) Set title (optional)
3) Set Message (optional)
4) Set buttons(optional)
5) Set listeners(mandatory);
6) Show dialog
AlertDialog:
AlertDialog.Builder adb = new AlertDialog.Builder(this);
adb.setTitle(“Alert”);
adb.setMessage(“This is Message”);
adb.setPositiveButton(“Positive”, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Toast.makeText(MainActivity.this, “Positive is clicked”, Toast.LENGTH_LONG).show();
}
});
adb.setNegativeButton(“Negative”, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Toast.makeText(MainActivity.this, “Negative is clicked”, Toast.LENGTH_LONG).show();
}
});
adb.setNeutralButton(“Neutral”, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Toast.makeText(MainActivity.this, “Neutral is clicked”, Toast.LENGTH_LONG).show();
}
});
adb.show();
DatePickerDialog:
DatePickerDialog dp = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
String selectedDate = year + “-” + (month + 1) + “-” + dayOfMonth;
Toast.makeText(MainActivity.this, selectedDate, Toast.LENGTH_LONG).show();
}
}, 2015, 11, 24);
dp.show();
TimePickerDialog:
TimePickerDialog tp = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(MainActivity.this, hourOfDay + “:” + minute, Toast.LENGTH_SHORT).show();
}
}, 12, 24, false);
tp.show();
ProgressDialog:
ProgressDialog pd = new ProgressDialog(this);
pd.setTitle(“Progress Title”);
pd.setMessage(“Please wait”);
pd.show();
Note: For all the above dialogs, we have a super class is Dialog.
Create an Android Application to work with different Dialogs.
HW: Create a dialog which will accept some text using EditText, show the text entered on clicking any of the dialog buttons.
HW: Create a dialog which will show some list of options, show toast o9n selecting one of them.