报错 java.lang.IllegalArgumentException: View not attached to window manager
--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- Back traces starts. LocalizedMessage: View not attached to window manager Message: View not attached to window manager Type: java.lang.IllegalArgumentException: View not attached to window manager java.lang.IllegalArgumentException: View not attached to window manager at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:383) at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:285) at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:79) at android.app.Dialog.dismissDialog(Dialog.java:323) at android.app.Dialog.dismiss(Dialog.java:306) at com.demo.add.Dialog$WeiboViewClient.onPageFinished(ProGuard:130) at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:323) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method) Back traces ends. --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---上面这个例子,就是一个比较典型的报错。
网上找了一下,简单解释:弹出Dialog(或者popupWindow)之后,因为某种原因(比如用户按了Home按键)导致当前Activity上下文消失(或者Activity销毁)。但是,Dialog里面的子线程可能还在做别的事情,然后过了一会才dismiss掉当前Dialog。。。最后,导致在执行dismiss的时候,没有可以依附的Window Manager。(因为activity已经销毁)
mark一下,回头写解决方案