Android 对话框,按下按钮时保持对话框打开

2024-03-19

我想在按下按钮时保持对话框打开。 目前正在关闭。

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setMessage("Are you sure you want to exit?")

   .setCancelable(false)
   .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int id) {
            MyActivity.this.finish();
       }
   })
   .setNegativeButton("No", new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int id) {
            dialog.cancel();
       }
   });
AlertDialog alert = builder.create();

是的你可以。您基本上需要:

  1. 创建对话框对话生成器
  2. show() 对话框
  3. 找到显示的对话框中的按钮并覆盖它们onClickListener

因此,创建一个监听器类:

class CustomListener implements View.OnClickListener {
  private final Dialog dialog;

  public CustomListener(Dialog dialog) {
    this.dialog = dialog;
  }

  @Override
  public void onClick(View v) {

    // Do whatever you want here

    // If you want to close the dialog, uncomment the line below
    //dialog.dismiss();
  }
}

然后在显示对话框时使用:

AlertDialog dialog = dialogBuilder.create();
dialog.show();
Button theButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
theButton.setOnClickListener(new CustomListener(dialog));

请记住,您需要显示对话框,否则将找不到该按钮。另外,一定要改变DialogInterface.BUTTON_POSITIVE为您用于添加按钮的任何值。另请注意,在添加按钮时对话生成器你需要提供onClickListeners- 但是,您不能在其中添加自定义侦听器 - 如果您之后不覆盖侦听器,对话框仍然会关闭show()叫做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 对话框,按下按钮时保持对话框打开 的相关文章

  • 如何使用 kotlin Android 从 Url 读取 JSON?

    我正在使用 kotlin 来开发应用程序 现在我想从服务器获取 JSON 数据 在java中 我实现了Asyntask以及Rxjava来从Url读取JSON 我也在谷歌搜索 但我无法获得满足我的要求的正确详细信息 如何使用 kotlin 从
  • bash 变量中的 Linux 鞭尾/对话框参数错误

    有人可以解释为什么下面的代码不起作用吗 我要疯狂地想找出答案 bin bash TEST M1 1 wire Interface ON echo TEST RESULT dialog title Config Modules State c
  • 使用 ActiveAndroid 库存储 HashMap

    我有一堂课 Table name Control public class Control extends Model Column private String name Column private Map
  • Android模拟器中的互联网连接始终显示连接状态

    我尝试了多种方法来检查我的 Android 模拟器中的互联网连接 ConnectivityManager conMgr ConnectivityManager getSystemService Context CONNECTIVITY SE
  • 如何在android中获取MapView API?

    如何在android中获取MapView API thanks Android 文档中实际上是这么写的 你好 地图视图 http developer android com guide tutorials views hello mapvi
  • 视图无法解析为类型

    这里的视图似乎有什么问题 我该如何解决它 错误 视图无法解析为类型 public void onItemClick AdapterView
  • 在Android中使用RxJava2插入SQLiteDatabase

    我在学习RxJava2在安卓中 谁能解释一下我们如何使用将数据插入 SQLiteDatabaseRxJava2 这是我尝试使用的代码示例 但它将数据插入数据库六次 单击时 getCompletableObservable subscribe
  • 如何解决:无法解析:com.mapbox.mapboxsdk:mapbox-android-sdk:9.5.0

    我在Android studio中尝试使用mapbox时遇到这个问题无法解析 com mapbox mapboxsdk mapbox android sdk 9 5 0 问题是什么 我的 build gradle 依赖项 dependenc
  • Android版本App更新代码

    我读到如果我们想更新Google Play中的应用程序 版本代码应该高于以前的apk文件 我有一个版本代码为 20 且版本名称为 1 0 的应用程序 那么要更新app 应该如何增加版本号呢 应该增加10吗 或者仅仅 1 就足够了 即版本代码
  • Auto-value-gson出现接口错误,注册一个InstanceCreator?

    我有一个如下所示的接口类 public interface Species String name And a Human实现的类 AutoValue使用类型适配器 AutoValue public abstract class Human
  • 如何实现 ALTER TABLE 的示例[重复]

    这个问题在这里已经有答案了 我已经多次问过这个问题 但尚未得到完整的答案 如何实现 ALTER TABLE 语句以向数据库添加列 有人可以给我举个例子吗 请阅读SQLite ALTER TABLE 参考 http sqlite org la
  • Android:文本淡入和淡出

    我已阅读此 stackoverflow 问题和答案 并尝试实现文本淡入和淡出 Android中如何让文字淡入淡出 https stackoverflow com questions 8627211 how to make text fade
  • 在 android studio 中找不到 SDK 位置

    我刚刚在 android studio 中导入了我的 eclipse 项目 我一直这么说 Error SDK location not found Define location with sdk dir in the local prop
  • 表面视图+gl表面视图+框架布局

    我是 java 和 OpenGL 的新手 我正在尝试获得一个相机预览屏幕 能够 同时显示 3D 对象 浏览完样本后 api 演示 我想结合示例的代码 api 演示就足够了 但不知何故它不起作用 迫使我 启动时关闭 错误被称为空指针 例外 有
  • Android Gradle 问题 - Flutter / Dart

    我的 Gradle 同步有问题 我使用 IntelliJ 和 Android Studio 构建 Flutter Dart 应用程序 我添加了 2 个新的依赖项 现在 Gradle 出现了问题 在 Android Studio 中一切正常
  • 如何仅从 Firestore 获取最新更新的数据?

    在 Firestore 上发现任何更改时始终获取整个文档 如何只获取最近更新的数据 这是我的数据 我需要在第一次加载时在聊天中按对象顺序 例如 2018 09 17 30 40 msg和sendby 并且如果数据更新则仅获取新的msg和se
  • 带有 backstack Resume 的嵌套片段

    在我的应用程序中有几个fragments in an activity我正在维护一个backStack对于这些fragment 一切都很好 但其中有一个嵌套的片段 当我把它放入backStack然后再次按后退按钮恢复 该片段看起来与先前的内
  • react-native android fontFamily 不生效

    问题一 我在index android js的欢迎样式中添加了fontFamily 但没有效果 fontFamily 真的可以在 Android 上使用吗 欢迎 字体大小 20 fontFamily roboto thin 文本对齐 居中
  • 如何模拟ARM处理器运行环境并加载Linux内核模块?

    我尝试加载我的vmlinux into gdb并使用 ARM 内核模拟器 但我不明白为什么我会得到Undefined target command sim 这是外壳输出 arm eabi gdb vmlinux GNU gdb GDB 7
  • Keystore getEntry 在 Android 9 上返回 NULL

    c我已对存储在 Android 密钥库中的登录密码进行了加密和解密 在 Android 9 上 我观察到应用程序在尝试解密密码时崩溃 我无法重现它 但拥有 Pixel 3 的用户是崩溃的设备之一 下面是我如何从密钥库解密密码 private

随机推荐

  • 创建安全角色,只能创建角色和用户,而无需系统管理员角色

    CRM 2015 我希望能够为本地 IT 创建一个角色 以便能够添加用户帐户和分配角色 关于 添加角色 部分 只需创建一个角色 让本地IT在用户级别的 安全角色 的 业务管理 选项卡中 写入 安全 角色 是否足够简单 不 这件事没那么简单
  • 检查ListView中是否存在项目

    我有这个代码
  • Selenium:如何在测试中执行 Xpath 函数或表达式?

    有没有办法在 Selenium 测试中执行一些 Xpath 代码 我知道您可以执行 javascript 但我正在寻找一种方法来执行一些 Xpath 代码 而不仅仅是简单地定位页面上的元素 有人遇到过这个吗 据我了解 XPath 函数是 X
  • Android id 命名约定:小写加下划线与驼峰式大小写

    我目前正在为 Android 编写一个应用程序 现在我发现你不能将资源对象 例如图像 放置在可绘制文件夹中并将其命名为 myTestImage jpg 这会给你一个编译器错误 因为不允许使用驼峰式大小写语法 所以你必须将其重命名为 my t
  • Django XFrameOptionsMiddleware (X-Frame-Options) - 通过客户端 IP 允许 iframe

    我正在使用 Django XFrameOptionsMiddleware 来控制点击劫持 但我有一个客户需要能够从其网络内的 iframe 中浏览应用程序 我希望能够从视图方法中应用 或删除 xframe options exempt 装饰
  • 使用 ColdFusion 从 HTML 生成图像

    我有一个 ColdFusion 页面 其中有一个样式化的 HTML 表格 我希望能够做的是设置一个功能 允许我们的客户将表格保存为图像文件 以便在幻灯片放映中使用 我已经阅读了 cfcontent 的一些文档 但是 我开始感觉我需要一个第三
  • 如何使用 System.HashCode.Combine 来处理超过 8 个值?

    NET 标准 2 1 NET 核心 3介绍 https github com dotnet corefx issues 14354 System HashCode https learn microsoft com en us dotnet
  • T-SQL计算列如何获取ISO周数[重复]

    这个问题在这里已经有答案了 我有一个基于日期和计算列的日历表 下面的代码 问题是 由于逻辑 52 7 364 它返回的是第 53 周 所以实际上我们每年总是有一些 空闲 天 例如 2014 年的这些天 2014 12 282014 12 2
  • 跳过从数据文件中读取字符 C++

    我有一个具有以下格式的数据文件 A dat Theta 0 0000 Phi 0 00000 Theta 1 0000 Phi 90 0000 Theta 2 0000 Phi 180 0000 Theta 3 0000 Phi 360 0
  • 如何使用 jQuery Validate 删除错误类?

    我有一个表单 它使用 jQuery Validate 插件将错误类添加到一组复选框的父 div 中 但是 当选中某个复选框时 错误类将被删除 但 CSS 样式仍然保留 有什么想法我做错了吗 例子 http jsfiddle net qK3S
  • 更改文本文件的默认“复制到输出目录”设置

    有谁知道是否有办法更改 Visual Studio 2008 中文件类型的默认 复制到输出目录 设置 我经常将文本文件添加到我的项目中 它们可以是自述文件中的任何内容 或一些使用信息 或应用程序在运行时实际使用的测试文件 但我从来没有添加过
  • Devise Oauth Twitter:OAuth::未经授权禁止 403

    我正在尝试使用 Devise 实现 Oauth Twitter 我在 Twitter 上创建了应用程序我已将回调 url 设置为 http 本地主机 3000 http localhost 3000我已将其添加到 config initia
  • 会话和基于令牌的身份验证之间的技术差异

    我正在写我的学士学位 其中我需要找出哪种身份验证 授权方法最适合我正在合作的公司 因此 我一直在比较基于会话和基于令牌的身份验证方法 但对于令牌如何工作以及它们如何比会话身份验证更好 我不清楚以下几点 我 100 清楚的唯一好处是 令牌可以
  • 将精确的 cv::Mat 图像存储在 sqlite3 数据库中

    有什么办法可以准确存储cv Mat使用 sqlite3 格式化数据Qt 因为我将来将使用相同的 cv Mat 格式 我尝试将图像转换为无符号字符 他们存储它 但这对我不起作用 还有其他技术吗 您可以将 cv Mat 序列化为 QByteAr
  • nodejs ffmpeg在特定时间播放视频并将其流式传输到客户端

    我正在尝试使用 nodeJS 和 ffmpeg 制作一个基本的在线视频编辑器 为此 我需要执行 2 个步骤 设置客户端视频的进出时间 要求客户端在特定的时间观看视频 并切换视频的位置 这意味着 如果使用单个视频作为输入 并将其分割成更小的部
  • java.io.InvalidClassException:本地类不兼容:

    我创建了客户端和服务器 然后在客户端添加了一个类用于序列化目的 然后只需转到硬盘驱动器中客户端的文件夹并将其复制粘贴到服务器对应的位置即可classname class and classname java分别 它在我自己的笔记本电脑上运行
  • 修改后的先序树遍历中的路径

    我已经实现了修改后的预序树遍历正如这里所解释的 http www sitepoint com hierarchical data database 2 我的树是这样的 ref name lft rgt NULL base 1 8 2 bas
  • 前向声明中的字段类型不完整[重复]

    这个问题在这里已经有答案了 我使用以下简单文件重现错误 它说 字段的类型 Foo 不完整 bar h class Foo class Bar private int x Foo foo error incomplete type publi
  • 受保护析构函数的基本原理

    我注意到许多 Poco 类都有一个受保护的析构函数 这使得它们的编码变得更加烦人 例如 这是我的一些代码 struct W2 Poco Util WinRegistryConfiguration typedef Poco Util WinR
  • Android 对话框,按下按钮时保持对话框打开

    我想在按下按钮时保持对话框打开 目前正在关闭 AlertDialog Builder builder new AlertDialog Builder this builder setMessage Are you sure you want