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();
    }

AlertDialog_第1张图片
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;
    }

AlertDialog_第2张图片

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();
    }

AlertDialog_第3张图片

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();
    }

AlertDialog_第4张图片

你可能感兴趣的:(Android,对话框,界面)