View not attached to window manager 可能的情况汇总 与解决方案

来源:互联网 发布:淘宝衣服关键词 编辑:程序博客网 时间:2024/05/22 13:36

报错  java.lang.IllegalArgumentException: View not attached to window manager  

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---Back traces starts.LocalizedMessage: View not attached to window managerMessage: View not attached to window managerType: java.lang.IllegalArgumentException: View not attached to window managerjava.lang.IllegalArgumentException: View not attached to window managerat 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一下,回头写解决方案