java - 当用户触摸屏幕时如何避免关闭我的进度对话框?

标签 java android

我正在开发一个 android 项目,当用户下载文件时会显示一个进度对话框。

但是当用户触摸屏幕时,进度对话框会在没有等待 100% 的情况下被关闭。 我已经尝试过使用它:

 public boolean onTouchEvent(MotionEvent e) {
        return true;
    } 

但它不起作用。

我怎样才能避免这种情况?

更新 1:

似乎 setCancelable(false) 工作正常。非常感谢您的回答,但是当下载持久并且用户决定放弃时,这是不可能的,因为我已经停用了后退键码:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

我该如何解决这个问题?

最佳答案

使用 dialog.setCancelable(false);

例子:

        ProgressDialog dialog = new ProgressDialog(WiFiFinderActivity.this);
        dialog.setMessage("please wait...");
        dialog.show();
        dialog.setCancelable(false);
        dialog.setCanceledOnTouchOutside(false);

关于java - 当用户触摸屏幕时如何避免关闭我的进度对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15432476/

相关文章:

java 预计年份降雨量不正确

java - 设置安卓:foreground View borderless

java - 如何修复此错误 :"Cannot invoke getFirst() on the primitive type char"?

android - 下载内容时管理网络更改

android - Cardview 位置始终为 -1

android - Android 2.0 中的网格布局?

android - 应用程序无法从后台恢复

java - 在java中加密文本文件的最简单方法

java - 从 txt 文件读入单个数组 - Java

android - 在平板电脑模拟器中使用 Google 服务的 FusedLocationProviderClient