AlertDialog弹窗不显示问题【转载】[通俗易懂]

AlertDialog弹窗不显示问题【转载】[通俗易懂]最近修改了项目后发现弹窗无法弹出,特此记录一下问题所在 我的弹窗显示代码如下: **分析:**AlertDialog.show()之后不显示弹窗,只有一层黑色的蒙版。其实仔细看注释就知道,第2步创建弹

最近修改了项目后发现弹窗无法弹出,特此记录一下问题所在

我的弹窗显示代码如下:

private void addrPop(final Activity activity,int index){
        //1.创建单项选项
        String[] items = new String[]{"ttyS0","ttyS1","ttyS2","ttyS3","ttyS4"};
        //2.创建弹窗生成器
        final AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
        //3.创建弹窗
        AlertDialog alertDialog = alertBuilder.create();
        final AlertDialog finalAlertDialog = alertDialog;
        //4.给弹窗生成器 设置内容
        alertBuilder.setSingleChoiceItems(items, index, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                finalAlertDialog.dismiss();
            }
        });
        //5.显示弹窗
        alertDialog.show();
    }

**分析:**AlertDialog.show()之后不显示弹窗,只有一层黑色的蒙版。其实仔细看注释就知道,第2步创建弹alertBuilder(弹窗生成器)的时候,没有给alertBuilder 设置弹窗的内容,所以alertBuilder不知道你要想要什么样内容的弹窗,所以只显示了黑色蒙版…………….(我这么写是因为我不想创建很多全局变量,所以把AlertDialog对象生成在里面了)

更改:弹窗对象全局化,将上面第3步和第4步调换一下位置(重点)

将弹窗创建过程改以下,如下代码所示:

private AlertDialog alertDialog;//全局化 , 此方法在UI线程中使用
    private void addrPop(final Activity activity,int index){
        //1.创建单项选项
        String[] items = new String[]{"ttyS0","ttyS1","ttyS2","ttyS3","ttyS4"};
        //2.创建弹窗生成器
        final AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
        //3.给弹窗生成器 设置内容
        alertBuilder.setSingleChoiceItems(items, index, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                alertDialog.dismiss();
            }
        });
        //4.创建弹窗
        alertDialog = alertBuilder.create();
        //5.显示弹窗
        alertDialog.show();
    }

 如果以上方式还是不能解决你的问题,说明我们遇到的不是同一个问题……………..谢谢阅读

本文转自 blog.csdn.net/qq_42111674…,如有侵权,请联系删除。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/13454.html

(0)

相关推荐

  • 服务器诡异的请求超时问题[通俗易懂]

    服务器诡异的请求超时问题[通俗易懂]前些日子,监控显示线上偶尔发生请求两秒超时的情况。解决这个问题前前后后花了不少时间,也走了一些弯路。这里记录下来备忘。 前期分析 首先需要了解一下我们的服务: 我们的服务是一组无状态的前端服务器加上…

    2023-02-08
    152
  • Python工程师必须掌握的Pandas Split技巧

    Python工程师必须掌握的Pandas Split技巧Pandas是Python中数据处理和分析的重要库,不仅可以处理数值和时间序列数据,还可以处理结构化数据。Split技巧是Pandas中常用的技巧之一,它可以用来分割数据,从中提取有用信息。本文将介绍Python工程师必须掌握的Pandas Split技巧,包括字符串分割、列拆分、数据合并和组合等方面。

    2024-04-20
    81
  • 存储引擎简介_java存储引擎

    存储引擎简介_java存储引擎一.存储引擎简介 1、文件系统: 1.1 操作系统组织和存取数据的一种机制。 1.2 文件系统是一种软件。 2、文件系统类型:ext2 3 4 ,xfs 数据(centos6 ext 4 centos

    2022-12-18
    145
  • Postgres14.4(Docker安装)[亲测有效]

    Postgres14.4(Docker安装)[亲测有效]Postgres14.4(Docker安装) 一,Docker拉取镜像 docker pull postgres:14.4 #检查镜像是否拉取成功 docker images | grep postg

    2023-05-25
    133
  • oracle倒入dmp_oracle和oracle之间批量导数据

    oracle倒入dmp_oracle和oracle之间批量导数据一、前置条件 已存在oracle数据库 已安装PowerDesigner数据库建模工具 二、在PowerDesigner中创建jdbc数据库连接 点击 “File>Reverse Engineer>…

    2023-03-15
    155
  • Python中常用转义字符

    Python中常用转义字符在Python中,有一些字符在字符串中具有特殊的含义,如果要在字符串中原样输出这些特殊字符,就需要使用转义字符来帮助实现。本文将介绍Python中常用的转义字符及其用法,帮助读者更好地处理字符串。

    2024-05-06
    69
  • 计算机网络基础:连接世界的纽带

    计算机网络基础:连接世界的纽带计算机网络是当今世界不可或缺的一部分。它们已经成为我们日常生活和商业活动的基础。无论您是在浏览网页、发送电子邮件、使用社交媒体,还是在线购物,计算机网络都在背后默默运行。在本文中,我们将深入探讨计算机

    2023-11-11
    148
  • MySQL优化(7):其他注意事项「建议收藏」

    MySQL优化(7):其他注意事项「建议收藏」DDL执行 线上服务器执行DDL,更新表结构,需要谨慎,结构更改会导致全表被独占锁定(新版本有改善) 避免这种情况,使用COPY策略,而不是直接执行ALTER TABLE语句 思路:创建一个新表,满足

    2023-02-04
    153

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注