Android 后退按钮和进度对话框

2024-02-08

我有一个异步任务在工作时显示进度对话框(它调用在UiThread上运行从内部后台操作显示进度对话框)。

在运行时我想允许使用后退按钮取消操作;其他人遇到过这个问题:当 ProgressDialog 正在运行时,后退按钮不起作用 https://stackoverflow.com/questions/4919676/back-button-is-not-working-while-progressdialog-is-running

出于什么原因我无法回复该线程,因此必须开始另一个线程?! (改天再问另一个问题)

我和桑迪有同样的想法,但这段代码在进度对话框正在显示,这是为什么?我已经在我的主要活动类中实现了它,进度对话框让前景焦点暂时离开我的班级?


首先,您应该显示您的对话框OnPreExecute,将其隐藏在OnPostExecute,并且 - 如有必要 - 通过发布进度来修改它。 (看here http://developer.android.com/resources/articles/painless-threading.html)

现在回答你的问题:ProgressDialog.show()可以采取OnCancelListener作为一个论点。您应该提供一个可以调用的cancel()在进度对话框实例上。

example:

    @Override
    protected void onPreExecute(){
        _progressDialog = ProgressDialog.show(
                YourActivity.this,
                "Title",
                "Message",
                true,
                true,
                new DialogInterface.OnCancelListener(){
                    @Override
                    public void onCancel(DialogInterface dialog) {
                        YourTask.this.cancel(true);
                        finish();
                    }
                }
        );
    }

where _progressDialog is a ProgressDialog成员YourTask.

此类在 API 级别 26 中已弃用。ProgressDialog 是一个模态对话框 对话框,阻止用户与应用程序交互。反而 使用此类时,您应该使用类似的进度指示器 ProgressBar,可以嵌入到应用程序的 UI 中。或者, 您可以使用通知来通知用户任务的进度。LINK https://developer.android.com/reference/android/app/ProgressDialog

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

Android 后退按钮和进度对话框 的相关文章

  • 如何在 ADB 连接期间禁用电池充电?

    问题描述 每次我在电脑和手机之间连接 USB 线时 电池都会自动充电 我想使用 ADB 协议 但我不想在 ADB 连接期间为电池充电 是否可以关闭此充电功能 当然 我该怎么做呢 环境 Android 操作系统 4 及更高版本的手机 我只需要
  • 从历史堆栈中删除活动

    我的应用程序在用户第一次运行应用程序时显示注册活动 如下所示 活动启动画面 欢迎来到游戏 注册帐户 ActivitySplashScreenSignUp 很好 填写此信息 ActivityGameMain 游戏主屏幕 因此 当用户单击每个屏
  • 如何在android中压缩和解压png图像

    您好 在我的应用程序中 当我单击 zip 按钮时 我需要压缩图像文件 当我单击解压缩按钮时 我需要解压缩文件 我尝试使用下面的代码来压缩图像 但我的问题是当我单击 zip 按钮时 正在创建 zip 文件 但之后在使用 winzip 软件的系
  • 不变违规:requireNativeComponent:在 UIManager 中找不到“RNSVGSvgViewAndroid”

    我对标题中提到的错误感到头疼 我正在使用react native gifted charts https www npmjs com package react native gifted charts v 1 0 3 https www
  • Android:如何使用后台线程?

    我开发了一个应用程序 它从互联网获取内容并相应地在设备的屏幕上显示它 该程序运行得很好 就是有点慢 加载并显示内容大约需要 3 4 秒 我想将获取内容并将其显示在后台线程中的所有代码放在一起 当程序执行这些功能时 我想显示一个进度对话框 你
  • Google 地图删除标记路线上下文菜单

    我使用 Android Studio 的 Google 地图模板启动了一个新项目 并在地图上添加了一个标记 LatLng location new LatLng lat lng Marker marker mMap addMarker ne
  • 使用 Android Firebase 堆栈推送通知

    我开发了使用 Firebase 接收推送通知的 Android 应用程序 我的代码基于 Firebase Google 官方文档 https firebase google com docs cloud messaging android
  • 在选项卡上保存数据

    我有 3 个选项卡 每个选项卡都有一个单独的活动 我想在用户单击任一选项卡上的 保存 时保存数据 有几个选项可供选择 共享首选项 全局变量或将对象保存在上下文中 编辑 我必须保存图像和文本字段 Android 共享首选项 https sta
  • Android:使 Dialog 周围的所有内容都比默认值更暗

    我有一个具有以下样式的自定义对话框 它显示了一个无边框对话框 后面的任何内容都会 稍微 变暗 我的设计师希望背后的一切都比 Android 的默认设置更暗 但不是完全黑色 有这样的设置吗 我能想到的唯一解决方法是使用全屏活动而不是对话框 只
  • 使用 Android Studio 进行调试永远停留在“等待调试器”状态

    UPDATE The supposed重复是一个关于陷入 等待调试器 执行时Run 而这个问题就陷入了 等待调试器 执行时Debug 产生问题的步骤不同 解决方案也不同 每当我尝试使用Android Studio的调试功能时 运行状态总是停
  • 如何从android中的外部存储中获取所选文件的文件路径?

    我在选择文件的文件路径时遇到问题 我搜索了整个堆栈溢出 但问题没有解决 从设备中选择文件的代码如下所示 Intent intent new Intent Intent ACTION GET CONTENT intent setType in
  • Android 时钟滴答数 [赫兹]

    关于 proc pid stat 中应用程序的总 CPU 使用率 https stackoverflow com questions 16726779 total cpu usage of an application from proc
  • 即使 Android M 上的移动数据已打开(有连接),也可以通过 WiFi(无连接)发送请求

    我必须在没有互联网连接的情况下将 UDP 数据包发送到 WiFi 模块 配有自己的 AP 但是当我将手机连接到 AP 时 Android 会在移动数据接口上重定向我的数据包 因为它有互联网连接 我使用下面的代码来完成我的工作 但它似乎不适用
  • SDK >=26 仍需要 mipmap/ic_launcher.png?

    在 Android 中 有两种指定启动器图标 可以说是应用程序图标 的方法 老 方式 在 mipmap 文件夹中指定不同的 png 文件 通常命名为 ic launcher png 但可以通过以下方式设置名称android icon mip
  • 无法使用文件提供程序从内部存储打开 PDF 以便在 Android 8 和 9 上查看

    仅适用于 Android 8 和 9 我这里有一个 PDF 文件管理器 String url file storage emulated 0 Android data com verna poc files Download mypdf p
  • 在android中创建SQLite数据库

    我想在我的应用程序中创建一个 SQLite 数据库 其中包含三个表 我将向表中添加数据并稍后使用它们 但我喜欢保留数据库 就好像第一次安装应用程序时它会检查数据库是否存在 如果存在则更新它 否则如果不存在则创建一个新数据库 此外 我正在制作
  • 使用Intent拨打电话需要权限吗?

    在我的一个应用程序中 我使用以下代码来拨打电话 Intent intent new Intent Intent ACTION CALL Uri parse startActivity intent 文档说我确实需要以下清单许可才能这样做
  • Fragment 生命周期和在不存在的 Fragment 上调用 onCreate 的问题

    我正在 Android 中测试片段 并且片段生命周期有一些令人困惑的行为 我有一个活动 在横向和纵向模式下使用 xml 布局 我有一些代码可以访问在片段布局之一中定义的 EditText 对象 如果我以横向模式启动应用程序 一切都会正常 我
  • R.java是手动修改的!恢复到生成的版本

    我在布局中添加了一个 xml 文件 之后这个错误就来了 但问题是我还没有接触过 R java 文件 现在 在我的新活动中 我要将其内容视图设置为我新创建的 xml 文件 但是当我执行 R layout 时 新创建的 xml 不会出现在建议中
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • HQL 错误:连接所需的路径

    我一直在尝试这个查询的变体 但似乎无法实现这一点 我还参考了这篇文章 预计加入路径 休眠错误 https stackoverflow com questions 5759707 path expected for join nhiberna
  • C# 发送带有附件的电子邮件(图片)

    我的方法使用 SMTP 中继服务器发送电子邮件 一切正常 电子邮件已发送 除了附件 图像 以某种方式压缩 不存在并且无法从电子邮件中检索之外 该方法如下所示 public static bool SendEmail HttpPostedFi
  • GitHub API - 如何确定文件是否实际上是符号链接?

    通过 GitHub API 查询符号链接时 如果符号链接指向文件而不是目录 我会得到不同的结果 后者表现得更好 因为它会返回 type symlink 作为其 JSON 的一部分 而前者返回 type file 例子文件符号链接 https
  • 动态插入 3 个图像到水平滚动视图或 Viewpager

    下面显示了我正在寻找的图像 目前我正在使用视图寻呼机和圆圈指示器 在视图页面中 它仅显示单个图像 我想要在一个viewpager中显示三张图像 如图所示 当我滑动该页面时 再次从服务器加载三个不同的图像 并在下面显示文本 这个怎么做 对此有
  • 使用已知和未知字段反序列化 json

    给出以下 json 结果 默认的 json 结果有一组已知的字段 id 7908 name product name 但可以使用其他字段进行扩展 在本例中 unknown field name 1 and unknown field nam
  • jQuery - 选择具有特定样式的子项

    我不知道如何在以下示例中选择第一个跨度 div class sp span abc span span xyz span div 我尝试过使用这个 但没有成功 div sp span visibility hidden not work t
  • 使用 XCode 4.5 运行 iOS 5.1 模拟器时出现问题

    我最近将 XCode 升级到了 4 5 版本 现在当我尝试开发 iOS 5 0 5 1 的应用程序时遇到了问题 我开发了一个简单的 iPad 游戏 用户需要将图像与相应的单词进行匹配 所有这些项目都存储在 UIImageView 中 如果相
  • 适用于 iOS 8 和 iOS 9 的自定义 Unwind Segue

    我的问题是 如何让以下自定义展开转场在 iOS 9 之前版本的设备以及运行 iOS 9 的设备上工作 我有一个显示视图控制器的自定义 Segue 然后有一个相应的自定义展开 Segue 这段代码在 iOS 8 中运行良好 是通过创建 UIS
  • 将 jzy3d.canvas 转换为 awt.component

    我需要将 jzy3d 画布转换为 java awt component 我想使用 JCombobox 和按钮在框架中显示图表 但是当我想将画布转换为组件时 程序被删除 谢谢您的回答 我已经尝试过this https stackoverflo
  • Spring 5 WebFlux 中的缓存

    有没有办法在 Spring 5 中缓存来自 WebClient 的 Flux 我尝试过这个 但没有缓存任何东西 RestController SpringBootApplication EnableCaching public class
  • 如何标记相同的熊猫数据框行?

    我有一个像这样的大熊猫数据框 log apple watermelon orange lemon grapes 1 1 1 yes 0 0 1 2 0 1 0 0 1 True 0 0 0 2 2 0 0 0 0 2 2 1 1 yes 0
  • gcc 对 alloca 的处理是怎么回事?

    在大多数平台上 alloca只是归结为堆栈指针的内联调整 例如 从rsp在 x64 上 加上一些维护堆栈对齐的逻辑 I was looking at the code that gcc generates for alloca and it
  • paypal.HostedFields.isEligible() 始终返回 False :Paypal 借记卡/信用卡付款

    我想在我的网站上添加由 PayPal 提供支持的借记卡 信用卡付款 我正在按照指南进行操作 https developer paypal com docs business checkout advanced card payments h
  • Gdb - 打印数组或数组元素,具有各种大小的元素

    汇编代码 yasm section data src db 1 2 3 的每个元素src数组是1个字节 In GDB 如何打印整个数组或指定索引处的元素 例如打印值为 2 的元素 好的 在 Michael Petch 的许可下 我想自己给出
  • 如何在同一张图片中定位多个物体?

    我是 TensorFlow 的新手 目前 我正在TensorFlow网站上测试一些分类示例 卷积神经网络 它解释了如何将输入图像分类到预定义的类中 但问题是 我不知道如何在相同的图像 例如 我有一个带有猫和狗的输入图像 我希望我的图形在输出
  • 如何找到与输入元素最接近且处于同一级别的标签

    我动态添加input我的表单中的元素 每个逻辑代码块如下所示
  • RuntimeError:切勿在任务 Celery 中调用 result.get()

    我正在使用 celery 将任务发送到远程服务器并尝试返回结果 任务状态不断更新更新状态 http docs celeryproject org en latest reference celery app task html celery
  • 自定义静音/取消静音按钮 Youtube API

    Preface 我想说我已经尽力避免使这个问题成为重复的问题 即自己搜索谷歌 阅读很多其他类似的问题等 我发现了很多真正有用的东西 这些东西使我遇到了这种特定情况我有代码可以展示 所以希望我的最后一个问题能够清晰且可以回答 我有一个使用纯
  • 为什么Sequelize迁移创建表但模型无法连接到数据库

    我正在学习如何在 Nodejs 中使用 Sequelize ORM 并将数据保存在 Postgres 数据库中 我的目标是将用户数据插入Users桌子 我已经使用迁移创建了该表 并且它有效 但是 我无法保存用户数据 例如 我关注了很多资源T
  • Android 后退按钮和进度对话框

    我有一个异步任务在工作时显示进度对话框 它调用在UiThread上运行从内部后台操作显示进度对话框 在运行时我想允许使用后退按钮取消操作 其他人遇到过这个问题 当 ProgressDialog 正在运行时 后退按钮不起作用 https st