Android 基本控件 Dialog 对话框

Dialog 对话框的使用
  • 1 信息确定取消对话框
    在layout文件中添加Button按钮

这里写图片描述

private void showDialog() {
        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
        //  必须是MainActicity.this
        builder.setIcon(R.mipmap.ic_launcher).setTitle("我是标题").setMessage("我是内容").setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplicationContext(), "选择的是Negative", Toast.LENGTH_SHORT).show();
            }
        }).setNeutralButton("下次再说", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplicationContext(),"选择的是Netural",Toast.LENGTH_SHORT).show();
            }
        }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplicationContext(),"选择的是Positive",Toast.LENGTH_SHORT).show();
            }
        });
        AlertDialog dialog=builder.create();
        dialog.show();
    }
  • 2 列表信息对话框
    定义一个存放数据的数组
    private String[]mData={“第0条数据”,”第一条数据”,”第二条数据”};
    调用 setItems();
private void showSelectDialog() {
        AlertDialog.Builder builder1=new AlertDialog.Builder(MainActivity.this);
        builder1.setTitle("请选择数据");
        builder1.setItems(mData, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplicationContext(), "选中了第" + which + "个", Toast.LENGTH_SHORT).show();
            }
        });
        AlertDialog dialog1=builder1.create();
        dialog1.show();
    }
  • 3 单选对话框
    定义性别数组private String[]mSex={“男”,”女”,”其他”};
    调用setSingleChoiceItems();

这里写图片描述

private void showRadioDialog() {
        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
        builder.setSingleChoiceItems(mSex, 0, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                sex=mSex[which];
                Toast.makeText(getApplicationContext(), "选择的性别是" + mSex[which], Toast.LENGTH_SHORT).show();
            }
        });
        builder.setNeutralButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

            }
        });
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplicationContext(), "你确定的性别是" + sex, Toast.LENGTH_SHORT).show();
            }
        });
        builder.show();
    }

    private void showDialog() {
        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);//  必须是MainActicity.this
        builder.setIcon(R.mipmap.ic_launcher).setTitle("我是标题").setMessage("我是内容").setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplicationContext(), "选择的是Negative", Toast.LENGTH_SHORT).show();
            }
        }).setNeutralButton("下次再说", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplicationContext(),"选择的是Netural",Toast.LENGTH_SHORT).show();
            }
        }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplicationContext(),"选择的是Positive",Toast.LENGTH_SHORT).show();
            }
        });
        AlertDialog dialog=builder.create();
        dialog.show();
    }
  • 4 多选对话框
    调用setOnMultChoiceItems();
    这里写图片描述
private void showCheckBoxDialog() {
        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
        builder.setMultiChoiceItems(mHobbys, mHobbyChecked, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                mHobbyChecked[which]=isChecked;
            }
        });
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

            }
        });
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                hobby=new StringBuffer();
                for (int i=0;i<mHobbyChecked.length;i++){
                    if (mHobbyChecked[i]){
                        hobby.append(mHobbys[i]);
                    }
                }
                Toast.makeText(getApplicationContext(), "你选择的爱好有" + hobby, Toast.LENGTH_SHORT).show();
            }
        });
        builder.show();
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值