java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView{327d7a95 V.E..... R.....I. 0,0-0,0} not attached to window manager
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:396)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:322)
at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:116)
at android.app.Dialog.dismissDialog(Dialog.java:341)
at android.app.Dialog.dismiss(Dialog.java:324)
at com.layout.mj.widget.ProgressDialog.dismiss(ProgressDialog.kt:45)
at com.layout.mj.mvp.ui.WebActivity$df.run(WebActivity.kt:69)
at android.app.Activity.runOnUiThread(Activity.java:5481)
at com.layout.mj.mvp.ui.WebActivity.asd(WebActivity.kt:68)
at com.layout.mj.mvp.ui.WebActivity$ds.run(WebActivity.kt:55)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5910)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
问题分析:
Activity已经销毁,但是dialog并没有销毁。
解决:
@Override
public void onDetachedFromWindow(){
super.onDetachedFromWindow();
if(mDialog.isShowing)
mDialog.dismiss();
}