Dialog学习

步骤1.在Onclick方法里面创建Bulider对象
2.给对象赋值,设置属性。不同的属性可实现不同的dialog。具体属性参照代码
列表对话框需要一个有字符串集合,例如
final String items[]=new String[]{“张三”,”李四”,”王五”,”赵六”};
3.关掉提示框的方法dialogInterface.dismiss();
4.显示对象 builder.show();
示例代码

public class MainActivity extends AppCompatActivity {
    //                记录选中的是哪一个
    static int pos = 0;
    private Button normalButton;
    private Button seniorButton;
    private Button listButton;
    private Button singleButton;
    private Button checkButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        normalButton = (Button) findViewById(R.id.normal_dialog);
        normalButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                /**
                 * 在这里进行普通的提示框创建于显示
                 * 先创建Bulider对象
                 * 给对象赋值-----设置属性
                 * 设置标题
                 * 设置提示信息
                 * 设置图标
                 * 再设置下面的提示按钮
                 */
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("温馨提示");
                builder.setMessage("你真的确定李超是头猪么");
                builder.setIcon(R.drawable.ic_launcher);
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
//                        把提示框关掉
                        dialogInterface.dismiss();
                        Toast.makeText(MainActivity.this, "点击了确定按钮,谢谢支持", Toast.LENGTH_SHORT).show();

                    }
                });
                builder.setNegativeButton("肯定的", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                        Toast.makeText(MainActivity.this, "点击了肯定按钮,谢谢支持", Toast.LENGTH_SHORT).show();
                    }
                });
                builder.setNeutralButton("十分确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                        Toast.makeText(MainActivity.this, "点击了十分确定按钮,赶紧打上", Toast.LENGTH_SHORT).show();
                    }
                });
//                3.显示对象
                builder.show();

            }
        });
//       列表对话框
        listButton = (Button) findViewById(R.id.list_dialog);
        listButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                /**
                 * 在这里进行列表提示框的创建
                 *
                 */
                final String[] items = new String[]{"李三炮", "刘二狗", "孙大彪", "狗带"};
//                创建bulider对象
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
//                给对象设置属性
//                设置title
                builder.setTitle("温馨提示");
                builder.setIcon(R.mipmap.ic_launcher);
//                如果设置了items,就不要在调用setmessage
                builder.setItems(items, new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                        Toast.makeText(MainActivity.this, items[i], Toast.LENGTH_SHORT).show();
                    }
                });
                builder.setPositiveButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                        Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_SHORT).show();
                    }
                });
//                显示对象
                builder.show();
            }
        });
        singleButton = (Button) findViewById(R.id.single_dialog);
        singleButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
//                预先准备好单选列表项
                final String items[] = new String[]{"吃了10根大葱", "生吞半斤生姜",};
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("董浩然昨晚在干嘛?");

                builder.setIcon(R.mipmap.ic_launcher);
                builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        pos = i;
//                        dialogInterface.dismiss();
                        Toast.makeText(MainActivity.this, items[i], Toast.LENGTH_SHORT).show();
                    }
                });
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                        Toast.makeText(MainActivity.this, "最终确定" + items[pos], Toast.LENGTH_SHORT).show();
                    }
                });
                builder.show();
            }
        });
        checkButton = (Button) findViewById(R.id.checkdialog);
        checkButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                final String[] items = new String[]{"李三炮", "刘二狗", "孙大彪", "狗带"};
                final boolean selected[] = new boolean[]{true, false, false, true};
//                创建bulider对象
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
//                给对象设置属性
//                设置title
                builder.setTitle("温馨提示");
                builder.setIcon(R.mipmap.ic_launcher);
                builder.setMultiChoiceItems(items, selected, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i, boolean b) {
//                        dialogInterface.dismiss();

                    }
                });
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int which) {
                        dialogInterface.dismiss();
//                        点击选项,系统会自动将结果更新到selected数组中
                        String resu = "结果为:";
                        for (int i = 0; i < selected.length; i++) {
                            if (selected[i]) {
                                resu = resu + items[i] + ",";
                            }
                        }
                        Toast.makeText(MainActivity.this, resu, Toast.LENGTH_SHORT).show();
                    }
                });
                builder.show();
            }
        });

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值