当前位置: 移动技术网 > IT编程>移动开发>Android > Android中AlertDialog的六种创建方式

Android中AlertDialog的六种创建方式

2019年07月24日  | 移动技术网IT编程  | 我要评论

齐敬轩,殷桃红,公积金贷款计算

 创建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的六种创建方式,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网