1. 普通对话框
new AlertDialog.Builder(this).setTitle("普通对话框").setMessage("对话框信息")
.setPositiveButton("确定", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "确定选择",
Toast.LENGTH_SHORT).show();
}
}).setNegativeButton("取消", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "取消选择",
Toast.LENGTH_SHORT).show();
}
}).show();
运行截图:
2. 单选对话框
new AlertDialog.Builder(this)
.setTitle("单选对话框")
.setSingleChoiceItems(
new String[] { "Item 1", "Item 2", "Item 3" }, 1,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
Toast.makeText(MainActivity.this,
"选择中" + which + "Item",
Toast.LENGTH_SHORT).show();
// 强制关闭对话框
dialog.dismiss();
}
}).setNegativeButton("取消", null).show();
运行截图:
3. 多选对话框
final String items[] = new String[] { "Item 1", "Item 2", "Item 3" };
final boolean[] checkedItems = new boolean[] { false, false, false };
new AlertDialog.Builder(this)
.setTitle("多选对话框")
.setMultiChoiceItems(items, checkedItems,
new OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog,
int which, boolean isChecked) {
checkedItems[which] = isChecked;
}
}).setPositiveButton("确定", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
String result = "";
for (int i = 0; i < checkedItems.length; i++) {
if (checkedItems[i]) {
result += " " + items[i];
}
}
Toast.makeText(MainActivity.this, result,
Toast.LENGTH_SHORT).show();
}
}).setNegativeButton("取消", null).show();
运行截图:
4. 带进度条的对话框
final ProgressDialog dialog = new ProgressDialog(this);
dialog.setTitle("进度条对话框");
dialog.setMessage("正在加载...");
dialog.show();
new Timer().schedule(new TimerTask() {
public void run() {
runOnUiThread(new Runnable() {
public void run() {
dialog.dismiss();
}
});
}
}, 3000);
运行截图:
注意:
1. AlertDialog对话框:点击按钮(PositiveButton和NegativeButton)的同时会自动关闭对话框,然后点击选项时却不会。
2. 强制关闭对话框可以调用DialogInterface接口的dismiss()方法。
3. 带进度条的对话框需要使用ProgressDialog类创建。