第50页
public void onClick(View v) {
AlertDialog alert = new AlertDialog.Builder(MainActivity.this).create();
alert.setIcon(R.drawable.advise); //设置对话框的图标
alert.setTitle("系统提示:"); //设置对话框的标题
alert.setMessage("带取消、中立和确定按钮的对话框!"); //设置要显示的内容
//添加“取消”按钮
alert.setButton(DialogInterface.BUTTON_NEGATIVE,"取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "您单击了取消按钮",Toast.LENGTH_SHORT).show();
}
});
//添加“确定”按钮
alert.setButton(DialogInterface.BUTTON_POSITIVE,"确定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "您单击了确定按钮",Toast.LENGTH_SHORT).show();
}
});
alert.setButton(DialogInterface.BUTTON_NEUTRAL,"中立",new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {}
}); //添加“中立”按钮
alert.show(); //显示对话框
}
});
(3)在主活动MainActivity.java的onCreate()方法中,获取布局文件中添加的第2个按钮,也就是“显示带列表的对话框”按钮,并为其添加单击事件监听器,在重写的onClick()方法中,应用AlertDialog类创建一个带5个列表项的列表对话框,具体代码如下:
Button button2 = (Button) findViewById(R.id.button2); //获取“显示带列表的对话框”按钮
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String[] items = new String[] { "跑步", "羽毛球", "乒乓球", "网球", "体操" };
Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.advise1); //设置对话框的图标
builder.setTitle("请选择你喜欢的运动项目:"); //设置对话框的标题
//添加列表项
builder.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(); //创建对话框并显示
}
});
注意: 一定不要忘记上面代码中加粗的代码,否则将不能显示生成的对话框。
(4)在主活动MainActivity.java的onCreate()方法中,获取布局文件中添加的第3个按钮,也就是“显示带单选列表项的对话框”按钮,并为其添加单击事件监听器,在重写的onClick()方法中,应用AlertDialog类创建一个带5个单选列表项和一个“确定”按钮的列表对话框,具体代码如下:
Button button3 = (Button) findViewById(R.id.button3); //获取“显示带单选列表项的对话框”按钮
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String[] items = new String[] { "标准", "无声", "会议", "户外","离线" };
//显示带单选列表项的对话框
Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.advise2); //设置对话框的图标
builder.setTitle("请选择要使用的情景模式:"); //设置对话框的标题
builder.setSingleChoiceItems(items, 0, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,
"您选择了" + items[which], Toast.LENGTH_SHORT).show(); //显示选择结果
}
});
builder.setPositiveButton("确定", null); //添加“确定”按钮
builder.create().show(); //创建对话框并显示
}
});
(5)在主活动中定义一个boolean类型的数组(用于记录各列表项的状态)和一个String类型的数组(用于记录各列表项要显示的内容),关键代码如下:
private boolean[] checkedItems; //记录各列表项的状态
private String[] items; //各列表项要显示的内容
(6)在主活动MainActivity的onCreate()方法中,获取布局文件中添加的第4个按钮,也就是“显示带多选列表项的对话框”按钮,并为其添加单击事件监听器,在重写的onClick()方法中,应用AlertDialog类创建一个带5个多选列表项和一个“确定”按钮的列表对话框,具体代码如下: