【问题标题】:Progressdialog isshowing returns true even called hideProgressdialog isshowing 甚至被称为 hide 返回 true
【发布时间】:2016-02-26 06:39:10
【问题描述】:

我已经创建了这样的进度对话框

public VolleyService(Context context, VolleyServiceCompletedListener listener){
    this.context = context;
    pDialog = new ProgressDialog(context);
    pDialog.setMessage("Loading...");
    pDialog.setCancelable(false);
    this.listener = listener;
}

并尝试使用此方法显示进度对话框。

private void showProgressDialog() {
    boolean isShowing = pDialog.isShowing();
    if (!isShowing)
        pDialog.show();
}

并使用此方法隐藏对话框。

private void hideProgressDialog() {
    if (pDialog.isShowing()) {
        pDialog.hide();
    }
} 

问题是pDialog.isShowing() 在我调用pDialog.hide() 之后返回true。当我从android.app.Dialog.java 看到hide() 方法时,他们没有将mShowing 变量分配为false,但是当我调用show() 时,他们将mShowing 变量分配为true。

那么他们没有做出虚假的背后有什么原因吗?以及如何再次打开相同的进度对话框?

【问题讨论】:

    标签: android


    【解决方案1】:

    不要使用 hide() 而是使用 dismiss()。这也将防止泄漏窗口错误

    请参阅此link 了解更多信息

    【讨论】:

      【解决方案2】:

      请尝试关闭您的对话框。

      pDialog.dismiss()
      

      【讨论】:

        猜你喜欢
        • 2019-03-29
        • 1970-01-01
        • 2020-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多