Android进度对话框无法显示

时间:2015-05-12 07:57:03

标签: java android user-interface progressdialog

我希望在处理某些用户的请求时显示进度对话框。这是我的代码,我没有看到对话框没有出现在屏幕上的任何充分理由。

 public void onGoClick(Button button) {
    ProgressDialog progressDialog = null;
    try {
        if (invalid) {
           //   Show error message
        } else {
            progressDialog = new ProgressDialog(getActivity());
            progressDialog.setIndeterminate(true);
            progressDialog.setMessage(getActivity().getResources().getString(R.string.user_wait_message));
            progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
            progressDialog.show();

            //  Do processing
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
        progressDialog.dismiss();
    }
}

当我在try块中移动ProgressDialog声明语句并从finally块中删除dismiss方法时,我能够在屏幕上看到圆形对话框,但是当我像上面的代码一样更改它时,没有任何结果屏幕上。处理区域内没有异步调用,这就是为什么我在这里找不到任何错误的原因。感谢任何帮助。谢谢。

2 个答案:

答案 0 :(得分:1)

显示“进度”对话框,然后立即将其解除。 finally块在try块之后直接执行。

尝试添加OnDismissListener以自行验证。

答案 1 :(得分:0)

清洁和构建对我来说非常奇怪。我不知道它是否是Android Studio(1.2)或其他内容中的错误。我非常感谢你的答案,因为它非常有用,而且我在android中学到了很多关于async的东西:)