欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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();

运行截图:

Android中AlertDialog的六种创建方式

二、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();

运行截图:

Android中AlertDialog的六种创建方式

三、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();

运行截图:

Android中AlertDialog的六种创建方式

四、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();

运行截图:

Android中AlertDialog的六种创建方式

五、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();

运行截图:

Android中AlertDialog的六种创建方式

六、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的六种创建方式

以上所述是小编给大家介绍的android中alertdialog的六种创建方式,希望对大家有所帮助