安卓AlertDialog对话面板的使用---Android开发

编程之家收集整理的这篇文章主要介绍了安卓AlertDialog对话面板的使用---Android开发编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

搜索热词

1  AlertDialog.Builder builder=new AlertDialog.Builder(this);
2         builder.setTitle("历史记录").setIcon(R.mipmap.info).setMessage(str)
3                 .setPositiveButton("ok",new DialogInterface.OnClickListener() {
4                     @Override
5                     public void onClick(DialogInterface dialog,1)">int which) {
6                     }
7                 });
8         AlertDialog ad=builder.create();
9         ad.show();

 


上面这段代码显示的结果如图所示。

简单记录一下AlertDialog的用法

 

 

 

 下面的内容整理自:https://blog.csdn.net/streate/article/details/90899515


 

1.普通提示对话框

其上主要是提示标题,消息主体,底部“取消”、“确定”等按钮。

 1 /**
 2  * 提示对话框
 3  */
 4 void tipDialog() {
 5     AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity. 6     builder.setTitle("提示:" 7     builder.setMessage("这是一个普通对话框," 8     builder.setIcon(R.mipmap.ic_launcher);
 9     builder.setCancelable(true);            //点击对话框以外的区域是否让对话框消失
10  
11     设置正面按钮
12     builder.setPositiveButton("确定",1)">13         @Override
14         15             Toast.makeText(MainActivity.this,"你点击了确定",Toast.LENGTH_SHORT).show();
16             dialog.dismiss();
17         }
18     });
19     设置反面按钮
20     builder.setNegativeButton("取消",1)">21 22         23             Toast.makeText(MainActivity.24 25 26 27     设置中立按钮
28     builder.setNeutralButton("保密",1)">29 30         31             Toast.makeText(MainActivity.32 33 34 35  
36  
37     AlertDialog dialog = builder.create();      创建AlertDialog对象
38     对话框显示的监听事件
39     dialog.setOnShowListener( DialogInterface.OnShowListener() {
40 41          onShow(DialogInterface dialog) {
42             Log.e(TAG,"对话框显示了"43 44 45     对话框消失的监听事件
46     dialog.setOnCancelListener( DialogInterface.OnCancelListener() {
47 48          onCancel(DialogInterface dialog) {
49             Log.e(TAG,"对话框消失了"50 51 52     dialog.show();                              显示对话框
53 }

使用到的方法

- setTitle:设置对话框的标题,比如“提示”、“警告”等; 
- setMessage:设置对话框要传达的具体信息; 
- setIcon: 设置对话框的图标; 
- setCancelable: 点击对话框以外的区域是否让对话框消失,默认为true; 
- setPositiveButton:设置正面按钮,表示“积极”、“确认”的意思,第一个参数为按钮上显示文字,下同; 
- setNegativeButton:设置反面按钮,表示“消极”、“否认”、“取消”的意思; 
- setNeutralButton:设置中立按钮; 
- setOnShowListener:对话框显示时触发的事件; 
- setOnCancelListener:对话框消失时触发的事件。

2.普通列表对话框

列表对话框的内容就是一列显示内容

需要用到构造器的setItems方法

参数一是列表数据,参数二是点击监听接口,

我们要实现这样一个小功能用户在点击某一项时弹出一个Toast提示选中项的内容

 * 列表对话框
private  itemListDialog() {
 6     builder.setTitle("选择你喜欢的课程:" 7     builder.setCancelable(true 8     final String[] lesson = new String[]{"语文","数学","英语","化学","生物","物理","体育"};
 9 10     builder.setIcon(R.mipmap.tab_better_pressed)
11             .setItems(lesson,1)">12                 @Override
13                 14                     Toast.makeText(getApplicationContext(),"你选择了" + lesson[which],1)">15                 }
            }).create();
17     18     builder.setPositiveButton("确定",1)">19 20         22 23 24     25     builder.setNegativeButton("取消",1)">27         28 30 31     AlertDialog dialog = builder.create();     创建AlertDialog对象
32     dialog.show();                              33 }

 

3.单选对话框

单选对话框的内容就是一个单项选择列表,

需要用到setSingleChoiceItems方法参数一是列表数据,

参数二是默认选中的item,参数三则是点击监听接口,

我们要实现这样一个小功能用户在选好某一项之后记下其选择,

下次点开对话框时就默认选中该项。

 * 单选对话框
 singleChoiceDialog() {
 6  
 7     builder.setTitle("你现在居住地是:"final String[] cities = {"北京","上海","广州","深圳","杭州","天津","成都" 9  
10     builder.setSingleChoiceItems(cities,chedkedItem,1)">11 12          int which) {
13             Toast.makeText(getApplicationContext(),1)"> cities[which],1)">14             chedkedItem = which;
17     builder.setPositiveButton("确认",1)">19         20 23  
24     builder.setNegativeButton("取消",1)">26         27 30  
31     AlertDialog dialog = builder.create();  32     dialog.show();                           33 }

 

4.复选对话框

复选对话框是一个可以重复选中的列表,与单选对话框有点像,

不过调用的是setMultiChoiceItems方法,而且多了一个布尔值参数isChecked

表示当前点击的item是否被选中。

我们创建一个集合,将点击选中的item添加到集合中,

取消勾选的话就从集合中移除,点击确认按钮后就将选中内容显示出来。

 * 复选对话框
 multiChoiceDialog() {
 6     builder.setTitle("请选择你喜欢的颜色:" 7     final String[] colors = {"红色","橙色","黄色","绿色","蓝色","靛色","紫色" 8     final List<String> myColors = new ArrayList<>();
10     builder.setMultiChoiceItems(colors,1)">null,1)"> DialogInterface.OnMultiChoiceClickListener() {
int which,1)">boolean isChecked) {
13             if (isChecked) {
14                 myColors.add(colors[which]);
15             } else {
                myColors.remove(colors[which]);
            }
20  
21     builder.setPositiveButton("确认",1)">23         24             String result = "";
25             for (String color : myColors) {
26                 result += color + "、"28             Toast.makeText(getApplicationContext(),"你选择了: " + result,1)">31 32  
33     builder.setNegativeButton("取消",1)">35         36             myColors.clear();
37 38 39 40     AlertDialog dialog = builder.create();      41     dialog.show();                               42 }

 

总结

以上是编程之家为你收集整理的安卓AlertDialog对话面板的使用---Android开发全部内容,希望文章能够帮你解决安卓AlertDialog对话面板的使用---Android开发所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群:1065694478(已满)
编程之家官方2群:163560250(已满)
编程之家官方3群:312128206(已满)
编程之家官方4群:230427597

相关文章

猜你在找的Android相关文章

1 AlertDialog.Builder builder=new AlertDialog.Builder(this); 2 builder.setTitle(&quot;历史记录&quot;).se
Android页面跳转和数据回传 今天我尝试用两个页面实现数据的传递和回传,出现了一些问题,把问题已经成功的案例总结如下: 具体是这样的: 有两个layout布局,两个activity。MainAct
2021-03-06 13:26:12.274 8544-8544/com.example.helloworld E/AndroidRuntime: FATAL EXCEPTION: main Pro
用到的jxl2.6.12 jar&#160;包下载地址: https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl/2.6.12
问题① 我在另外一个项目里写了一个注册和登录功能的几个文件,当我想把这些代码和另一个文件合起来的时候就出现了问题。 首先不可以直接把另外一个项目的某个文件直接复制过来, 最好的办法是重新新建一个相同名
什么是SystemService 我们在Android开发过程中经常会用到各种各样的系统管理服务,如进行窗口相关的操作会用到窗口管理服务WindowManager,进行电源相关的操作会用到电源管理服务
1.垂直滚动:Scroll 新建一个应用程序: 在MainActivity的布局文件上做个实验,现在设置了按钮1和按钮2后还剩下一些空位: 再设置一个按钮3让他超出屏幕之外: 现在去运行程序,是滑动不
1. SELinux 背景知识 1.1 DAC 与 MAC 在 SELinux 出现之前,Linux 上的安全模型叫 DAC,全称是 Discretionary Access Control,翻译为自