视图未附加到窗口管理器:尽管我有预防性代码



我一直收到此错误,但不确定为什么

java.lang.IllegalArgumentException: View not attached to window manager
        at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:587)
        at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:324)
        at android.view.WindowManagerImpl$CompatModeWrapper.removeView(WindowManagerImpl.java:151)
        at android.app.Dialog.dismissDialog(Dialog.java:328)
        at android.app.Dialog$1.run(Dialog.java:119)
        at android.app.Dialog.dismiss(Dialog.java:313)

它发生在这段代码中

    @Override
    protected void onPostExecute(Void result) {
        if(!isFinishing() && dialog.isShowing()){
            dialog.dismiss();  <-------- HERE IT HAPPENS
        }
   }

知道为什么吗?我确保活动没有完成,并且在解雇前显示对话框!

这通常发生在ActivityAsyncTask完成之前可能已完成或处于暂停状态时。 onPause Activity将对话框设置为 null 或将其关闭

@Override
protected void onPostExecute(Void result) {
    if(!isPaused && dialog.isShowing()){
        dialog.dismiss();  <-------- HERE IT HAPPENS
    }
}
boolean isPaused;
@Override
protected void onPause() {
    super.onPause();
    isPaused = true;
}
@Override
protected void onResume() {
    super.onResume();
    isPaused = false;
    if(dialog.isShowing() && (asyncFinishedCheck)){
        //Dismiss code goes here
    }
}

最新更新