android - 删除 ProgressDialog 的最佳方法是什么

标签 android

我创建了一个进度对话框

ProgressDialog progressDialog = null; // create instance variable of ProgressDialog
int dialogID = 1;
//to create progress dialog

protected Dialog onCreateDialog(int id) {
progressDialog = new ProgressDialog(context);
progressDialog.setMessage(message);
progressDialog.setIcon(android.R.id.icon);
return progressDialog;
}

// to show progressdialog 
showDialog(dialogID);

要删除对话框,我可以使用以下三种方法中的任何一种

方法一

if(progressDialog != null){
progressDialog.dismiss();
}

方法二

if(progressDialog != null){
    progressDialog.cancel();
    }

方法 3

removeDialog(dialogID);

我发现第二种方法比第一种方法更有效。如果我必须使用多个进度对话框,则使用方法 3 会更容易。但是销毁进度对话框的最佳方法是什么?如何做?

最佳答案

cancel(); 优于 dismiss() 因为根据文档:

Cancel the dialog. This is essentially the same as calling dismiss(), but it will also call your DialogInterface.OnCancelListener (if registered).

removeDialog() 已弃用,因此这是最糟糕的方法。

关于android - 删除 ProgressDialog 的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8309874/

相关文章:

android - 尝试访问其他文件时切换到 Kotlin DSL Unresolved reference

java - 每 5 秒重复一次声音

android - 隐藏两个按钮并在 xml 上显示不同的按钮

java - ProgressDialog 没有立即显示

android - Instagram API OAuth 和端点更新 04-30-2015

android - 在 android 2.3.3、2.3.5 中来自 gcm 的注册 ID 为 null 但它不为 null 并且在 android 2.3.4、4.0.4 中工作

java - Android (ART) 崩溃并出现错误 JNI DETECTED ERROR IN APPLICATION : jarray is an invalid stack indirect reference table or invalid reference

android - GoogleSignInAccount 返回 null

android - 处理 Android 中的 sqlite 'database is locked' 错误

java - 增强现实中的模式匹配