IllegalArgumentException: View not attached to window manager

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();
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章