Progressdialog isshowing返回true,甚至称为hide

Gun*_*lan 4 android

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

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

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

private void showProgressDialog() {
    boolean isShowing = pDialog.isShowing();
    if (!isShowing)
        pDialog.show();
}
Run Code Online (Sandbox Code Playgroud)

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

private void hideProgressDialog() {
    if (pDialog.isShowing()) {
        pDialog.hide();
    }
} 
Run Code Online (Sandbox Code Playgroud)

pDialog.isShowing()即使在我调用之后,问题也会返回true pDialog.hide().当我看到hide()方法时,android.app.Dialog.java他们没有将mShowing变量赋值为false,但是当我调用show()它们时,它们将mShowing变量赋值为true.

那么他们有什么理由不做假的吗?我怎样才能再次打开相同的进度对话框?

Ank*_*wal 8

不要使用hide()而是使用dismiss().这也可以防止泄露的窗口错误

有关详细信息,请参阅此链接