资讯专栏INFORMATION COLUMN

android 系统dialog的应用

Prasanta / 1899人阅读

摘要:是数组的下标单选类型表示默认选中是第一个多选类型是默认的对应的选中状态。当你选择时,系统会自动帮你把中的值做相应改变,所以在确定按钮中可以得到所有的选择状态会自动根据你选择的改变数组的值。

应用示例如下:

/*
* 提示类型dialog
*/
private void dialog1(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("test");
    builder.setMessage("Is it exit?"); //设置内容
    builder.setIcon(R.mipmap.ic_launcher);//设置图标
    builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
        //which:点击ok,which是-1
        //点击cancel,which是-3
        //点击ignore,which是-2
        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();
        }
    });
    builder.setNegativeButton("cancel", new DialogInterface.OnClickListener() { 
        @Override
        public void onClick(DialogInterface dialog, int which) {
        }
    });
    builder.setNeutralButton("ignore", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
        }
    });
    //显示dialog
    builder.create().show();
}
  

private void dialog1(){
    DialogInterface.OnClickListener dialogOnclicListener=new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int which) {
            switch(which){
                case Dialog.BUTTON_POSITIVE:
                    break;
                case Dialog.BUTTON_NEGATIVE:
                    break;
                case Dialog.BUTTON_NEUTRAL:
                    break;
                }
            }
        }
    };
    AlertDialog.Builder builder=new AlertDialog.Builder(this);
    builder.setTitle("test");
    builder.setMessage("Is it exit?");
    builder.setIcon(R.mipmap.ic_launcher);
    builder.setPositiveButton("ok",dialogOnclicListener);
    builder.setNegativeButton("cancel", dialogOnclicListener);
    builder.setNeutralButton("ignore", dialogOnclicListener);
    builder.create().show();
}
 
/*
* 列表类型dialog
*/
private void dialog2() {
    final String items[]={"test1","test2","test3"};
    AlertDialog.Builder builder=new AlertDialog.Builder(this);
    builder.setTitle("test");
    builder.setIcon(R.mipmap.ic_launcher);
        //设置列表显示,注意设置了列表显示就不要设置builder.setMessage()了,否则列表不起作用。
        builder.setItems(items,new DialogInterface.OnClickListener() {
            //which是items数组的下标
            @Override
            public void onClick(DialogInterface dialog, int which) {
            }
        });
        builder.setPositiveButton("ok",new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
            }
        });
        builder.create().show();
    }

/*
* 单选类型dialog
*/
private void dialog3(){
    final String items[]={"single","double"};
    AlertDialog.Builder builder=new AlertDialog.Builder(this);
    builder.setTitle("test");
    //0表示默认选中是第一个
    builder.setSingleChoiceItems(items,0,new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
        }
    });
    builder.setPositiveButton("ok",new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
        }
    });
    builder.create().show();
}


/*
* 多选类型dialog
*/
private void dialog4(){
    final String items[]={"North Korea","American","Syria"};
    final boolean selected[]={true,false,true};
    AlertDialog.Builder builder=new AlertDialog.Builder(this);
    builder.setTitle("test");
    //selected是默认的对应的选中状态。当你选择时,系统会自动帮你把selected中的值做相应改变,所以在确定按钮中可以得到所有的选择状态
    builder.setMultiChoiceItems(items,selected,new DialogInterface.OnMultiChoiceClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which, boolean isChecked) {
        }
    });
    builder.setPositiveButton("ok",new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            //android会自动根据你选择的改变selected数组的值。
        }
    });
    builder.create().show();
}

 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/2345.html

相关文章

  • Android之Window和弹窗问题

    摘要:指向的主要是实现和通信的。子不能单独存在,需附属特定的父。系统需申明权限才能创建。和类似,同样是通过来实现。将添加到中显示。方法完成的显示。执行的检查参数等设置检查将保存到中将保存到中。因为通过和的将无法获取到从而导致失败。 目录介绍 10.0.0.1 Window是什么?如何通过WindowManager添加Window(代码实现)?WindowManager的主要功能是什么? 1...

    Lorry_Lu 评论0 收藏0
  • Android之Activity设置主题背景后AlertDialog背景随之改变问题

    摘要:解决的方法很简单,就是在的主题中将背景设置成给闪屏页一样的图片然后在清单文件中将的设置成即可。的显示很简单,只需调用一句代码运行之后,发现的样式变得十分诡异如果没有左上角的文字,我几乎就看不出它是个对话框了。 在制作App的闪屏页时如果你仔细观察就会发现,每次你在手机桌面点击图标启动应用时会先出现一个白色背景(也就是我们通常所说的白屏),然后才会跳转到闪屏页。就像这样: showImg...

    luxixing 评论0 收藏0
  • 分类整理我在SF上针对某些问题作回答

    摘要:是什么意思是类型,意图是通过数字获取对应的类如果,返回的就是如果,返回的就是当拿到类后,通过调用该类的无参数构造器,创建并返回该类的一个实例,等价于。 Android 资源Resource与布局Layout android:怎么实现一个控件与另一个指定控件左对齐 针对你这种情况,最简单的一种办法是,设置两个TextView的宽度为固定值,且相等。LinearLayout是一种线性排列的...

    paulquei 评论0 收藏0
  • 崩溃bug日志总结2

    摘要:出现错误引发崩溃日志的流程分析这个错误是应用的方法总数限制造成的。 目录介绍 1.1 java.lang.ClassNotFoundException类找不到异常 1.2 java.util.concurrent.TimeoutException连接超时崩溃 1.3 java.lang.NumberFormatException格式转化错误 1.4 java.lang.Illegal...

    sutaking 评论0 收藏0
  • Android联网更新应用

    摘要:服务器的最新版本值最新版本的路径版本更新细节获取当前应用的版本信息更新页面显示的版本信息比较服务器获取的最新的版本跟本应用的版本是否一致当前应用已经是最新版本下载最新版本确定下载服务器保存的应用数据取消联网下载数据失败下载应用数据成功安装下     UpdateInfo public class UpdateInfo { public String version;//服务器的最...

    ShevaKuilin 评论0 收藏0

发表评论

0条评论

Prasanta

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<