一、第一步,调用Builder方法创建一个对话框(要调用create方法创建)
final AlertDialog alertDialog = new AlertDialog.Builder(AlertMainActivity.this).create();
二、第二步,设置对话框的相关属性
alertDialog.setIcon(R.drawable.ic_launcher);//设置图标
alertDialog.setTitle("退出");//设置标题
alertDialog.setMessage("是否要退出?");//设置提示信息
alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定",
new OnClickListener() {//设置按钮
@Override
public void onClick(DialogInterface arg0, int arg1) {
alertDialog.dismiss();
//Activity退出之前要消除dialog,否则会报错
AlertMainActivity.this.finish();
}
});
三、第三步,调用show方法显示对话框
alertDialog.show();
带列表的对话框
第一步,定义String数组存放列表的内容
final String[] s = new String[] { "鲤鱼", "鲫鱼", "草鱼", "鲨鱼", "章鱼","鳄鱼" };
第二步,通过AlertDialog.Builder创建Dialog
AlertDialog.Builder alertDialog = new AlertDialog.Builder(AlertDialogMainActivity.this);
第三步,设置dialog相关属性
alertDialog.setIcon(R.drawable.ic_launcher);
alertDialog.setTitle("请选择一种鱼类");
第四步,通过setItem方法将内容添加到列表项
alertDialog.setItems(s, new DialogInterface.OnClickListener() {}
第五步,给列表项设置点击事件,在监听事件中
Toast.makeText(AlertDialogMainActivity.this,"您选择了:" + s[position], Toast.LENGTH_SHORT).show();
第六步,将dialog显示出来
alertDialog.create().show();
带单选按钮的列表对话框
第一步,定义String数组存放数据内容
final String[] s1 = new String[] { "篮球", "足球", "排球", "网球" };
第二步,通过AlertDialog.Builder创建Dialog
AlertDialog.Builder aBuilder = new AlertDialog.Builder( AlertDialogMainActivity.this);
第三步,设置dialog相关属性
aBuilder.setTitle("请选择一种运动项目");
aBuilder.setIcon(R.drawable.ic_launcher);
第四步,通过setSingleChoiceItems方法将内容添加到列表项
aBuilder.setSingleChoiceItems(s1, 0, new DialogInterface.OnClickListener())
第五步,给列表项设置点击事件,在监听事件中
Toast.makeText(AlertDialogMainActivity.this,"您选择了:" + s1[position],Toast.LENGTH_SHORT).show();
第六步,添加确定按钮
aBuilder.setPositiveButton("确定", null);
第七步,显示dialog
aBuilder.create().show();
带复选框的对话框
第一步,定义一个boolean数组和一个String数组,分别用于存放是否选中的状态值和数据
final boolean state[] = new boolean[] { false, false, false,false, false };
final String[] s2 = new String[] { "葫芦娃", "黑猫警长", "变形金刚","奥特曼", "小怪兽" };
第二步,通过AlertDialog.Builder创建一个dialog
AlertDialog.Builder aBuilder2 = new AlertDialog.Builder(AlertDialogMainActivity.this);
第三步,设置dialog相关属性
aBuilder2.setTitle("请选择");
aBuilder2.setIcon(R.drawable.ic_launcher);
第四步,setMultiChoiceItems方法将数据和状态值添加到列表项
aBuilder2.setMultiChoiceItems(s2, state,new OnMultiChoiceClickListener())
第五步,给列表项设置监听事件
public void onClick(DialogInterface arg0,int position, boolean isChecked)
第六步,在监听事件中将选中的时候状态改变值赋给状态数组
state[position] = isChecked;
第七步,设置确定按钮获取选中的值
aBuilder2.setPositiveButton("确定",new android.content.DialogInterface.OnClickListener()()
定义字符串对象并赋初值为空
String result = "";
遍巡列表项,判断是否选中
for (int i = 0; i < s2.length; i++)
//如果选中,将选中的列表项的值逐个赋给字符串对象
result = result + s2[i] + ",";
//判断字符串对象的值是否为空
if (!result.equals(""))
//如果不为空,通过substring(start,end)方法截取最后的数据,并赋给字符串对象
result = result.substring(0,result.length() - 1);
第八步,显示dialog
aBuilder2.create().show();
创建对话框:
AlertDialog创建对象时要调用create()方法
AlertDialog builder1 = new AlertDialog.Builder(
AlertDialogMainActivity.this).create();
AlertDialog.Builder创建对象时不用调用create()方法,
AlertDialog.Builder alertDialog = new AlertDialog.Builder(AlertDialogMainActivity.this);
显示对话框:
AlertDialog显示对话框时直接调用show()方法
builder1.show();
AlertDialog.Builder显示对话框时可以先调用create()方法,再调用show方法;也可以直接调用show()方法
1.alertDialog.create().show();
2.alertDialog. show();
销毁对话框:
AlertDialog可以调用cancle()方法或dismiss()方法进行销毁
builder1.dismiss();
builder1.cancle();
AlertDialog.Builder即没有cancle()方法也没有dismiss()方法