Android中AlertDialog的六种创建方式
程序员文章站
2024-03-06 12:15:02
创建alertdialog的步骤:
1、创建alertdialog.builder对象
2、调用builder对象的settitle方法设置...
创建alertdialog的步骤:
1、创建alertdialog.builder对象
2、调用builder对象的settitle方法设置标题,seticon方法设置图标
3、调用builder相关方法如setmessage方法、setitems方法、setsinglechoiceitems方法、setmultichoiceitems方法、setadapter方法、setview方法设置不同类型的对话框内容。
4、调用setpositivebutton、setnegativebutton、setneutralbutton设置多个按钮
5、调用builder对象的create()方法创建alertdialog对象
6、调用alertdialog对象的show()方法将对话框显示出来
一、setmessage:设置对话框内容为简单文本内容
// 创建构建器 alertdialog.builder builder = new alertdialog.builder(this); // 设置参数 builder.settitle("请做出选择").seticon(r.drawable.ic_launcher) .setmessage("凤姐美不美") .setpositivebutton("美", new onclicklistener() {// 积极 @override public void onclick(dialoginterface dialog, int which) { // todo auto-generated method stub toast.maketext(mainactivity.this, "恭喜你打错了", 0) .show(); } }).setnegativebutton("不美", new onclicklistener() {// 消极 @override public void onclick(dialoginterface dialog, int which) { // todo auto-generated method stub toast.maketext(mainactivity.this, "恭喜你答对了", 0) .show(); } }).setneutralbutton("不知道", new onclicklistener() {// 中间级 @override public void onclick(dialoginterface dialog, int which) { // todo auto-generated method stub toast.maketext(mainactivity.this, "你瞎啊", 0) .show(); } }); builder.create().show();
运行截图:
二、setitem:设置文本框内容为简单列表项
// 创建数据 final string[] items = new string[] { "北京", "上海", "广州", "深圳" }; // 创建对话框构建器 alertdialog.builder builder = new alertdialog.builder(this); // 设置参数 builder.seticon(r.drawable.ic_launcher).settitle("提示") .setitems(items, new onclicklistener() { @override public void onclick(dialoginterface dialog, int which) { toast.maketext(mainactivity.this, items[which], toast.length_short).show(); } }); builder.create().show();
运行截图:
三、setsinglechoiceitems()设置对话框内容为单选列表项
// 创建数据 final string[] items = new string[] { "北京", "上海", "广州", "深圳" }; // 创建对话框构建器 alertdialog.builder builder = new alertdialog.builder(this); // 设置参数 builder.seticon(r.drawable.ic_launcher).settitle("提示") .setsinglechoiceitems(items, 0, new onclicklistener() { @override public void onclick(dialoginterface dialog, int which) { // todo auto-generated method stub toast.maketext(mainactivity.this, items[which], toast.length_short).show(); } }); builder.create().show();
运行截图:
四、setmultichoiceitems()设置对话框内容为多选项列表
// 创建数据 final string[] items = new string[] { "北京", "上海", "广州", "深圳" }; // 创建对话框构建器 alertdialog.builder builder = new alertdialog.builder(this); builder.seticon(r.drawable.ic_launcher) .settitle("提示") .setmultichoiceitems(items, new boolean[] { true, true, false, false, false }, new onmultichoiceclicklistener() { @override public void onclick(dialoginterface dialog, int which, boolean ischecked) { // todo auto-generated method stub if (ischecked) { toast.maketext(mainactivity.this, items[which], 0).show(); } } }); builder.create().show();
运行截图:
五、setadapter()设置对话框内容为自定义列表项(这里是一个布局)
// 创建数据 final string[] items = new string[] { "北京", "上海", "广州", "深圳" }; // 创建对话框构建器 alertdialog.builder builder = new alertdialog.builder(this); builder.settitle("提示") .seticon(r.drawable.ic_launcher) .setadapter( new arrayadapter<string>(mainactivity.this, r.layout.item, r.id.tv, items), new onclicklistener() { @override public void onclick(dialoginterface dialog, int which) { // todo auto-generated method stub toast.maketext(mainactivity.this, items[which], 0).show(); } }); builder.create().show();
运行截图:
六、setview()设置对话框为自定义view
// 创建对话框构建器 alertdialog.builder builder = new alertdialog.builder(this); // 获取布局 view view2 = view.inflate(mainactivity.this, r.layout.login, null); // 获取布局中的控件 final edittext username = (edittext) view2.findviewbyid(r.id.username); final edittext password = (edittext) view2.findviewbyid(r.id.password); final button button = (button) view2.findviewbyid(r.id.btn_login); // 设置参数 builder.settitle("login").seticon(r.drawable.ic_launcher) .setview(view2); // 创建对话框 final alertdialog alertdialog = builder.create(); button.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub string uname = username.gettext().tostring().trim(); string psd = password.gettext().tostring().trim(); if (uname.equals("zcl") && psd.equals("123456")) { toast.maketext(mainactivity.this, "登录成功", 0).show(); } toast.maketext(mainactivity.this, "登录失败", 0).show(); alertdialog.dismiss();// 对话框消失 } }); alertdialog.show();
运行截图:
以上所述是小编给大家介绍的android中alertdialog的六种创建方式,希望对大家有所帮助