警告对话框使用AlertDialog类,可以生成带1个到3个按钮的提示对话框,也可以生成带单选列表或多选列表的列表对话框
使用AlertDialog类只能生成带按钮的提示对话框,如果要生成带列表框的对话框,则需要使用AlertDialog.Builder类。
View.OnClickListener listener= new View.OnClickListener() {
@Override
public void onClick(View v) {
Button btn=(Button)v;
switch (btn.getId()){
case R.id.btn1:
//用dialog实现警告对话框
AlertDialog dialog=new AlertDialog.Builder(MainActivity.this).create();
dialog.setTitle("title");
dialog.setMessage("message");
dialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "clicked", Toast.LENGTH_SHORT).show();
}
});
dialog.show();
break;
case R.id.btn2:
//用builder实现警告对话框
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setTitle("title");
builder.setMessage("message");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "ok", Toast.LENGTH_SHORT).show();
}
});
builder.create().show();
break;
case R.id.btn3:
//列表对话框
AlertDialog.Builder builder1=new AlertDialog.Builder(MainActivity.this);
builder1.setItems(names, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,names[which], Toast.LENGTH_SHORT).show();
}
});
builder1.create().show();
break;
case R.id.btn4:
//单选按钮
AlertDialog.Builder builder2=new AlertDialog.Builder(MainActivity.this);
builder2.setSingleChoiceItems(names, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,names[which], Toast.LENGTH_SHORT).show();
}
});
builder2.create().show();
break;
case R.id.btn5:
//多选按钮
AlertDialog.Builder builder3=new AlertDialog.Builder(MainActivity.this);
builder3.setMultiChoiceItems(names, new boolean[]{true, false, true, false}, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if(isChecked){
Toast.makeText(MainActivity.this, names[which]+"checked", Toast.LENGTH_SHORT).show();
}
else
Toast.makeText(MainActivity.this, names[which]+"unchecked", Toast.LENGTH_SHORT).show();
}
});
builder3.create().show();
break;
}
}
};