博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
alertdialog简单用法
阅读量:7146 次
发布时间:2019-06-28

本文共 3802 字,大约阅读时间需要 12 分钟。

new AlertDialog.Builder(MainActivity.this)                .setTitle("aaa")                .setIcon(R.drawable.ic_launcher)                .setMessage("next")                .setPositiveButton("确定按钮",                        new DialogInterface.OnClickListener() {                            @Override                            public void onClick(DialogInterface dialog,                                    int which) {                                // TODO Auto-generated method stub                            }                        }).setNegativeButton("普通按钮", new DialogInterface.OnClickListener() {                                                        @Override                            public void onClick(DialogInterface dialog, int which) {                                // TODO Auto-generated method stub                                                            }                        }).setNeutralButton("取消按钮", new DialogInterface.OnClickListener() {                                                        @Override                            public void onClick(DialogInterface dialog, int which) {                                // TODO Auto-generated method stub                                                            }                        }).show();

 列表项的对话框

private void itemDialog(){        final String[] levle = {"1","2","3"};        new AlertDialog.Builder(MainActivity.this)        .setTitle("选择级别")        //添加取消按钮,没有写事件        .setNeutralButton("取消", new DialogInterface.OnClickListener() {                        @Override            public void onClick(DialogInterface dialog, int which) {                // TODO Auto-generated method stub                            }        })        //添加列表项  参数分别为数据,事件        .setItems(levle, new DialogInterface.OnClickListener() {                        @Override            //点击列表项会把结果显示到tv里            public void onClick(DialogInterface dialog, int which) {                MainActivity.this.tv.setText("选择的级别是"+levle[which]);            }        }).show();    }

 复选对话框

private void muliItem(){        final String[] data ={"1","2","3"};        boolean[] b = {
true,false,false}; new AlertDialog.Builder(MainActivity.this) .setTitle("ok") //传入的参数分别是数据,默认选中状态,事件      .setMultiChoiceItems(data, b, new OnMultiChoiceClickListener() { @Override         public void onClick(DialogInterface dialog, int which, boolean isChecked) { String msg =""; for (int i = 0; i < data.length; i++) { if(i==which && isChecked){ msg += data[which]; } } MainActivity.this.tv.append(msg); } }).setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }).show(); }

 用反射技术防止对话框意外关闭

//防止对话框意外关闭    private void setCloseable(DialogInterface dialog,boolean b) {        // TODO Auto-generated method stub        Field field ;        try {            field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");            field.setAccessible(true);            field.set(dialog,b);        } catch (NoSuchFieldException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IllegalAccessException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IllegalArgumentException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }

调用的时候直接调用就可以,传入的值为false就是不能关,true就是可以关闭

转载于:https://www.cnblogs.com/84126858jmz/p/4884887.html

你可能感兴趣的文章
Windows Phone开发(45):推送通知大结局——Raw通知
查看>>
setAnimationStyle实现的popwindow显示消失的动画效果
查看>>
php性能监测模块XHProf
查看>>
在ASP.NET MVC中,使用Bundle来打包压缩js和css
查看>>
脏读 幻读 不可重复读
查看>>
Apache相关安全设置
查看>>
一个Solr搜索实例,增删改查+高亮+分页
查看>>
xcode6 下 ios simulator 有 Home 键么?
查看>>
VB.NET,C#.NET调用Web Service,利用visual studio 的实现方法
查看>>
Road to the future——伪MVVM库Q.js
查看>>
java读取.properties文件乱码
查看>>
HDInsight-Hadoop现实(两)传感器数据分析
查看>>
keytool生成证书与Tomcat SSL配置
查看>>
ejabberd源码流程梳理
查看>>
Java并发3-多线程面试题
查看>>
java获取日期之间的差异
查看>>
[转]浅谈协方差矩阵
查看>>
iOS开发-UIScreenEdgePanGestureRecognizer实战
查看>>
[c#美味] Guid ToString 格式知多少?
查看>>
Swift - 页控件(UIPageControl)的用法
查看>>