【问题标题】:progressDialog not dismissing after progressDialog.dismiss();progressDialog 在progressDialog.dismiss() 之后没有关闭;
【发布时间】:2017-02-22 08:20:57
【问题描述】:

我有一个从文件中获取字符串并将其放入名为 username 的字符串变量中的方法,因为从文件中读取需要时间,我希望在函数完成之前出现一个 progressDialog,preogress 对话框确实出现但是当我使用 progressDialog.dismiss(); 时不会被解雇;

这是代码:

public String loadUserFromFile(){

    progressDialog = new ProgressDialog(this);
    progressDialog.setTitle("Please wait...");
    progressDialog.setMessage("Loading User");
    progressDialog.show();

    String username = "default";
    String fileName = "savedUserFile.txt";
    FileInputStream fis;
    try {
        fis = openFileInput(fileName);
        InputStreamReader inputStreamReader = new InputStreamReader(fis);
        BufferedReader br = new BufferedReader(inputStreamReader);
        username = br.readLine();
        br.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    username = username.replaceAll("\\s+","");
    progressDialog.dismiss();
    return username;
}

【问题讨论】:

  • 尝试调试看看执行是否真的到了dismiss方法。你的代码在我看来不错。
  • 在两个 catch 中调用驳回
  • 在两个catch块中调用dismiss都有效,谢谢

标签: java android android-studio progressdialog


【解决方案1】:

确保对话框不为空的第一件事。

 ProgressDialog mProgressDialog;
     mProgressDialog = new ProgressDialog(thisActivity);
            mProgressDialog.setCancelable(false);

 //If you want to show progress dialog
     public void showProgressDialog(String message) {
            if (mProgressDialog != null) {
                mProgressDialog.setMessage(message);
                mProgressDialog.show();
            }
        }

   //To dismiss progress dialog
    public void dismissProgressDialog() {
            if (mProgressDialog != null && mProgressDialog.isShowing()) {
                mProgressDialog.dismiss();
            }
        }

用法:

showProgressDialog("正在加载");

dismissProgressDialog();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多