阻止 AlertDialog 在单击肯定按钮时关闭

2023-12-14

我正在尝试设置一个自定义 AlertDialog,它有 2 个按钮,取消按钮和肯定按钮。我需要做到这一点,以便单击肯定按钮后,我可以更改文本,而不关闭对话框。

大致流程是肯定按钮会显示“发送”,单击后它将更改为“发送...”,然后代码将向我们的服务器发送一些数据,如果响应为 true,则关闭对话框,如果为 true,则关闭对话框false,或超时等显示错误消息(Toast)并保持对话框打开。

我有用于向服务器发送数据、处理响应等的代码,我只是想不出如何编辑 AlertDialog 类来实现这一点。有谁知道我该怎么做?

当前测试代码:

AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
b.setView(getActivity().getLayoutInflater().inflate(R.layout.dialog_single_text, null));
b.setTitle("Forgotten Password");
b.setMessage("Please enter your email");
b.setPositiveButton("Send", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        Toast.makeText(getActivity(), "Sending...", Toast.LENGTH_SHORT).show();
    }
});
b.create().show();

您可以将 onShowListener 添加到 AlertDialog

 d.setOnShowListener(new DialogInterface.OnShowListener() {

    @Override
    public void onShow(DialogInterface dialog) {

        Button b = d.getButton(AlertDialog.BUTTON_POSITIVE);
        b.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                // TODO Do something

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

阻止 AlertDialog 在单击肯定按钮时关闭 的相关文章

随机推荐

  • 静态强制两个对象是从相同的(Int)“种子”创建的

    在我正在开发的库中 我有一个类似于以下内容的 API data Collection a Collection Seed etc type Seed Int newCollection Seed gt IO Collection a new
  • 在二进制文件中搜索字符串的代码

    前几天我问过这个问题 如何在二进制文件中查找 ANSI 字符串 我得到了一个非常好的answer 后来变成了一个更难的问题 输入迭代器可以用在需要前向迭代器的地方吗 现在确实不是我能理解的水平 我仍在学习 C 并且正在寻找一种在二进制文件中
  • socket.io 硬编码与动态连接 url

    为什么这里的大多数教程 示例和问题都使用本地 IP 或localhost 或任何其他硬编码路径 如下所示 var socket io connect http 127 0 0 1 3700 而不是简单地 var socket io conn
  • 在 WPF 应用程序中加密凭据

    在 WPF 应用程序中 我想提供典型的 记住我 选项来记住凭据并在下次启动应用程序时自动使用它们 使用单向哈希显然不是一个选择 虽然我可以存储凭据隔离存储 or 在注册表中 加密凭证时需要处理一个问题 如果我使用对称密钥加密算法 我需要将密
  • 检测 ThreadPool WorkItem 已完成/等待完成

    无论出于何种原因 ThreadPool s QueueWorkItem不返回IAsyncResult或工作项的其他一些句柄 这将允许等待它完成 有RegisterWait 方法 但你必须通过WaitHandle并且创建它们是昂贵的 参见IA
  • 检测 QlistWidget 中某行是否单击了某个项目

    我被赋予了这个简单的任务 我有这个列表 每当单击 ok 时我都会插入项目 void Form ok 处理该事件应该将新的列表项添加到列表中 现在我无法做的是检测是否在某行单击了某个项目 然后根据该操作执行某些操作 这是我的代码 includ
  • Angular Material2 单击时更改按钮颜色

    我想在单击按钮时更改材质 mat mini fab 按钮的颜色 我的尝试如下 但不起作用
  • html select(下拉)控制asp.net中的选定索引更改事件

    当值更改时 我试图将后端代码放入我的 html 选择控件 下拉列表 中 以触发后端方法 但我找不到该事件 我尝试了这样的方法
  • 从在 gitlab CI 中不起作用的资源读取文件

    我在使用以下命令在 gitlab CI 上运行测试时遇到错误 gradlew clean test 我正在使用测试容器来运行我的测试 https www testcontainers org modules docker compose 这
  • 在Java中将PDF转换为Word [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 Java 可以将 PDF 转换为 Word 吗 我不是在谈论解析 PDF 文档 然后将其再次自定义渲染到 Word 我想要一个可以直接转换它的Jav
  • 在 Visual Studio 设计器中找不到自定义字体的 C# 文件

    我对 C 比较陌生 所以我的 WinForms 项目中几乎有一个包含自定义字体的文件夹 该字体在启动应用程序时工作得非常好 但在 Visual Studio 本身的实际设计器中 无法加载自定义控件 因为我在设计器中使用的路径不同 这是我用来
  • 如何从 png 图像的一行获取 x y 坐标并在闪亮的应用程序中使用它

    这是对此的后续问题在闪亮的应用程序中使用 sliderInput 为区域着色 假设我有这个图像 我如何将 ismirsehregal 的解决方案应用于这张图片 我想我必须把食道的x和y放到代码中 但我不知道如何获取食道的x和y 图中绿色 代
  • 需要一个 API 来检测 iPhone 何时插入

    我正在为 Mac 制作一个应用程序 我需要一个 API 来检测 iPhone 何时插入 谢谢 编辑 具体来说 我需要一个 API 来检测 iPhone 何时插入 Mac 上的 USB 端口 我没有完整的答案 但实现您想要的功能的程序是 US
  • C++:switch 语句在右大括号之前缺少分号

    为了未来读者的利益和我自己的理智 我想绝对清楚地表明 switch没有a的语句default案例 由于涵盖了所有案例 或顺序if elseif else最后的 else 不应执行任何操作 不得省略 并包含对此效果的注释 请参见示例 然而 每
  • 在 Oracle SQL 中处理日期

    我在使用 SQL 方面非常陌生 我尝试做的是仅使用月份和年份选择 waterUsage 和 electrcityUsage 并选择上一年的 waterUsage 和 electrcityUsage 然而 我似乎无法找出使用日期来完成这项工作
  • Swift:iOS 12.2 应用程序启动时崩溃

    更新 Xcode 和 swift 5 后 在 iOS 12 2 上启动模拟器后 我的应用程序在启动时崩溃 但在早期版本的 ios 如 12 0 中 应用程序可以正常工作 我在真实设备 ios 12 0 1 上启动应用程序并且应用程序正常工作
  • UITextView 应该检测链接,但否则应该将触摸传播到下面的视图

    我有一个文本视图 我想在其中检测链接 但是当触摸点处没有链接时 它应该将触摸传播到下面的视图 目前没有 它将包含在表格视图单元格中 如果用户点击链接 它应该进行交互 它可以工作 但是当点击另一个点时 它应该选择表格视图单元格 我需要文本不可
  • 如何使用win32com从word文档中按颜色获取文本?

    我有一个包含几个表格的word文档 每张桌子有两种颜色 黑色和红色 我想按颜色从 Word 文档表中的单元格中获取文本 我找到了一个方法 但我认为效率很低 以下代码从单词表单元格中获取文本 并用它的颜色打印每个单词 import os sy
  • 由于 .NET 运行时中的内部错误,该进程被终止

    我正在使用 WPF 不知何故今天我得到了这个新的崩溃信息 Description The process was terminated due to an internal error in the NET Runtime at IP 6A
  • 阻止 AlertDialog 在单击肯定按钮时关闭

    我正在尝试设置一个自定义 AlertDialog 它有 2 个按钮 取消按钮和肯定按钮 我需要做到这一点 以便单击肯定按钮后 我可以更改文本 而不关闭对话框 大致流程是肯定按钮会显示 发送 单击后它将更改为 发送 然后代码将向我们的服务器发