前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 对话框组件 AlertDialog 四种常用方法

Android 对话框组件 AlertDialog 四种常用方法

作者头像
Designer 小郑
发布2023-08-01 09:36:04
2170
发布2023-08-01 09:36:04
举报
文章被收录于专栏:跟着小郑学JAVA跟着小郑学JAVA

本文原创首发CSDN,链接 https://blog.csdn.net/qq_41464123/article/details/106618845 ,作者博客https://blog.csdn.net/qq_41464123 ,转载请带上本段文字,尤其是脚本之家、码神岛等平台,谢谢配合.


一、什么是AlertDialog对话框 ?

在Android中,AlertDialog可以为当前的界面上显示一个对话框,而且产生的对话框是在所有界面元素上面的,能够覆盖掉其余组件,所以AlertDialog一般是用于提示一些非常重要的信息或者警告内容。

二、如何使用?

AlertDialog的功能十分强大,它不仅可以生成带按钮的提示对话框,还可以生成带列表的列表对话框。

对话框区域通常被分为四个区域,分别是图标区、标题区、内容区、按钮区域。

1.显示带确定、取消按钮的对话框

效果图:

单击按钮后:

 对话框隐藏,提示单击信息。

 实现方法,在XML文件中新建一个按钮,在Java文件中添加单击事件响应

代码语言:javascript
复制
button1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
        alertDialog.setIcon(R.mipmap.advise);
        alertDialog.setTitle("标题");
        alertDialog.setMessage("具体文本");

        alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "否", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "您单击了否按钮", Toast.LENGTH_SHORT).show();
            }
        });

        alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "是", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "您单击了是按钮 ", Toast.LENGTH_SHORT).show();
            }
        });
        alertDialog.show();
    }
});

2. 显示带列表的对话框

效果展示:

单击按钮后:

对话框隐藏,提示单击信息。

代码语言:javascript
复制
button2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        final String[] items = new String[]{"选项1", "选项2", "选项3","选项4"};

        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setIcon(R.mipmap.advise1);
        builder.setTitle("请选择选项:");

        builder.setItems(items, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,
                        "您选择了" + items[which], Toast.LENGTH_SHORT).show();
            }
        });
        builder.create().show();
    }
});

3. 显示带单选列表项的对话框

效果展示:

单击后:

 Java逻辑代码部分:

代码语言:javascript
复制
button3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        final String[] items = new String[]{"扎克伯格", "乔布斯", "拉里.埃里森", "安迪.鲁宾", "马云"};

        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setIcon(R.mipmap.advise2);
        builder.setTitle("如果让你选择,你最想做哪一个:");
        builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,
                        "您选择了" + items[which], Toast.LENGTH_SHORT).show();
            }
        });
        builder.setPositiveButton("确定", null);
        builder.create().show();
    }
});

本文原创首发CSDN,链接 https://blog.csdn.net/qq_41464123/article/details/106618845 ,作者博客https://blog.csdn.net/qq_41464123 ,转载请带上本段文字,尤其是脚本之家、码神岛等平台,谢谢配合。


4. 显示带多选列表项的对话框

效果展示:

单击后:

 点击确定后,显示:

 Java逻辑代码:

代码语言:javascript
复制
button4.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        checkedItems = new boolean[]{false, true, false, true, false};
        //各列表项要显示的内容
        items = new String[]{"开心消消乐", "球球大作战", "欢乐斗地主", "梦幻西游", "超级玛丽"};

        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setIcon(R.mipmap.advise2);
        builder.setTitle("请选择您喜爱的游戏:");
        builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                checkedItems[which] = isChecked;

            }
        });

        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                String result = "";
                for (int i = 0; i < checkedItems.length; i++) {
                    if (checkedItems[i]) {
                        result += items[i] + "、";
                    }
                }
                if (!"".equals(result)) {
                    result = result.substring(0, result.length() - 1);
                    Toast.makeText(MainActivity.this,
                            "您选择了[ " + result + " ]", Toast.LENGTH_LONG).show();
                }
            }
        });
        builder.create().show();
    }
});

三、总结

在Android中,如果需要使用 对话框 组件,来实现一定的功能,就需要用到 AlertDialog 。

本文主要总结了 AlertDialog 的四种常用方法,以便后续不时之需。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、什么是AlertDialog对话框 ?
  • 二、如何使用?
    • 1.显示带确定、取消按钮的对话框
      • 2. 显示带列表的对话框
        • 3. 显示带单选列表项的对话框
          • 4. 显示带多选列表项的对话框
          • 三、总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档