AlertDialog

AlertDialog简介

AlertDialog可以在当前的界面弹出一个对话框,这个对话框是置顶于所有的界面纸上的,能够屏蔽掉其他空间的交互能力,因此一般AlertDialog都是用于提示一些非常重要的内容或者警告信息。比如为了防止用户误删重要的内容,在删除前弹出一个确认对话框。

1.最简单的dialog

AlertDialog.Builderbuilder=new AlertDialog.Builder(MainActivity.this);
builder.setIcon(放图标).settitle(设置标题).setMessage(设置提示内容).setNegativebutton(设置点击事件).setNeutralButton(设置点击事件).setPositiveButton(设置点击事件);
AlertDialog alertDialog=builder.creat();
alertDialog.show();
//最简单的dialog
    private void showdialog1() {
        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
        builder.setIcon(R.mipmap.ic_launcher).setTitle("我是一个Dialog").setMessage("我是Dialog的内容").setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(getApplication(), "点击的是NegativeButton", Toast.LENGTH_SHORT).show();
                    }
                }
        ).setNeutralButton("NeutralButton", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplication(),"点击的是NeutralButton",Toast.LENGTH_SHORT).show();
            }
        }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplication(),"点击的是PositiveButton",Toast.LENGTH_SHORT).show();
            }
        });
        AlertDialog alertDialog=builder.create();
        alertDialog.show();
    }

这里写图片描述
2.选择某条信息
setItems

//弹出多条数据
    private void selectdialog() {
        AlertDialog.Builder builder2=new AlertDialog.Builder(MainActivity.this);
        builder2.setTitle("选择的Dialog");
        builder2.setItems(mData, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplication(), "选中了第" + which + "条数据", Toast.LENGTH_SHORT).show();
            }
        });
        AlertDialog alertDialog1=builder2.create();
        alertDialog1.show();
        return;
    }

这里写图片描述

3.单选框的dialog
setSingleChoiceItems

  //单选dialog
    private void singleSelect() {
        AlertDialog.Builder builder3=new AlertDialog.Builder(MainActivity.this);
        builder3.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();
            }
        });
        builder3.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

            }
        });
        builder3.setNeutralButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                mBtnDialog3.setText("您的性别是" + sex);

            }
        });
        AlertDialog alertDialog2=builder3.create();
        alertDialog2.show();
    }

这里写图片描述

4.多选框dialog
setMultiChoiceItems

//多选dialog
    private void mulselect() {
        AlertDialog.Builder builder4=new AlertDialog.Builder(MainActivity.this);
        builder4.setMultiChoiceItems(mHobby, mIsChecked, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                mIsChecked[which] = isChecked;
            }
        });
        builder4.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

            }
        });
        builder4.setNeutralButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                hobby = new StringBuffer();
                for (int i = 0; i < mIsChecked.length; i++) {
                    if (mIsChecked[i]) {
                        hobby.append(mHobby[i]);
                    }
                }
                mBtnDialog4.setText("您的爱好是" + hobby);
            }
        });
        Dialog dialog=builder4.create();
        dialog.show();
    }

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值