Android—3分钟你也能学会AlertDialog对话框
在Android开发中,少不了AlertDialog对话框的使用,也是至关重要的一个功能。AlertDialog的构造方法被声明为protected,所以我们不能使用new来创建AlertDialog对象。
 
目录
- Android—3分钟你也能学会AlertDialog对话框
- 确定取消对话框
- 带列表的对话框
- 单选列表对话框
- 多选列表对话框
 
确定取消对话框
DialogInterface.BUTTON_NEGATIVE 设立为取消按钮
 DialogInterface.BUTTON_NEUTRAL 设立为确定按钮
 DialogInterface.BUTTON_POSITIVE 设立为中立按钮
 
/******** 取消、确认按钮对话框*********/
button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {AlertDialog alertDialog = new AlertDialog.Builder(AlertDialog_1.this).create();     //创建对象alertDialog.setTitle("标题区");alertDialog.setMessage("内容区");alertDialog.setIcon(R.drawable.ic_launcher_foreground);  //图片区alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE,"取消", new DialogInterface.OnClickListener() {     //DialogInterface.BUTTON_NEGATIVE 设立为取消按钮@Override                                                                                                //并对其设置点击监听public void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialog_1.this,"您点击了否按钮",Toast.LENGTH_LONG).show();}});alertDialog.setButton(DialogInterface.BUTTON_NEUTRAL,"确定", new DialogInterface.OnClickListener() {     //DialogInterface.BUTTON_NEUTRAL 设立为确定按钮@Override                                                                                                //并对其设置点击监听public void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialog_1.this,"您点击了确定按钮",Toast.LENGTH_LONG).show();}});alertDialog.show();                                                                                        //显示对话框}
});
带列表的对话框

    /*****************列表对话框************************/
button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {final String subject[]=new String[]{"语文","数学","英语"};AlertDialog.Builder builder =new AlertDialog.Builder(AlertDialog_1.this);builder.setIcon(R.drawable.ic_launcher_foreground);builder.setTitle("选择你喜欢的科目:");builder.setItems(subject, new DialogInterface.OnClickListener() {    //设置监听@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialog_1.this,"您选择了"+subject[which],Toast.LENGTH_LONG).show();}});builder.create().show();                                  //创建、显示对话框}});
单选列表对话框

 /*****************单选列表对话框************************/
button3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {final String subject[]=new String[]{"语文","数学","英语"};AlertDialog.Builder builder =new AlertDialog.Builder(AlertDialog_1.this);builder.setIcon(R.drawable.ic_launcher_foreground);builder.setTitle("选择你喜欢的科目:");builder.setSingleChoiceItems(subject, 0,new DialogInterface.OnClickListener() {    //默认选择0@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialog_1.this,"您选择了"+subject[which],Toast.LENGTH_LONG).show();}});builder.setPositiveButton("确定",null);        //添加最后的确定按钮,暂不设置监听builder.create().show();}
});
多选列表对话框

  /*****************多选列表对话框************************/button4.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {final String subject[]=new String[]{"语文","数学","英语"};final boolean bool[]=new boolean[]{true,false,false};     //为word设置选中状态AlertDialog.Builder builder =new AlertDialog.Builder(AlertDialog_1.this);builder.setIcon(R.drawable.ic_launcher_foreground);builder.setTitle("选择你喜欢的科目:");builder.setMultiChoiceItems(subject, bool, new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {bool[which]=isChecked;        //改变列表项的状态}});builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {String str="";for (int i=0;i<bool.length;i++){if (bool[i]) str=str+" "+subject[i];}if(!str.equals(""))Toast.makeText(AlertDialog_1.this,str,Toast.LENGTH_LONG).show();}});builder.create().show();}});}
}
















