警告对话框使用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; } } };