Android—3分钟你也能学会AlertDialog对话框(2020-6-25)
16lz
2021-01-23
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() { @Override public 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() { @Override public 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() { //设置监听 @Override public 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() { @Override public 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 @Override public 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() { @Override public 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() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { bool[which]=isChecked; //改变列表项的状态 } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public 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(); } }); }}
更多相关文章
- Android自定义扁平化对话框
- Android 盘点所有Dialog 对话框 大合集 详解
- android2.3 api demo 学习系列(1)--apidemo主列表的实现
- 编写Android自定义按钮
- Android 自学之列表选择框Spinner
- App"确定"按钮应该在左边还是右边?
- Android:DropPopMenu — 显示位置跟随操作按钮显示的带箭头的弹出
- android自定义按钮按下效果