【发布时间】:2011-01-14 13:04:15
【问题描述】:
我遇到以下一些例外情况:
java.lang.IllegalArgumentException: View not attached to window manager
at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:355)
at android.view.WindowManagerImpl.updateViewLayout(WindowManagerImpl.java:191)
at android.view.Window$LocalWindowManager.updateViewLayout(Window.java:428)
at android.app.Dialog.onWindowAttributesChanged(Dialog.java:596)
at android.view.Window.setDefaultWindowFormat(Window.java:1013)
at com.android.internal.policy.impl.PhoneWindow.access$700(PhoneWindow.java:86)
at com.android.internal.policy.impl.PhoneWindow$DecorView.drawableChanged(PhoneWindow.java:1951)
at com.android.internal.policy.impl.PhoneWindow$DecorView.fitSystemWindows(PhoneWindow.java:1889)
at android.view.ViewRoot.performTraversals(ViewRoot.java:727)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4338)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)
我用谷歌搜索了一下,发现它与弹出窗口和转动屏幕有关,但没有引用我的代码。
问题是:
- 有没有办法找出来 这个问题到底是什么时候 发生了什么?
- 除了转动屏幕之外,是否还有其他事件或操作触发了此错误?
- 如何防止这种情况发生?
【问题讨论】:
-
看看你能不能解释一下这个activity在manifest中是如何描述的,以及当错误发生时屏幕上的activity是什么。看看你能不能把你的问题分解成一个最小的测试用例。
-
也许您正试图在调用
View#onAttachedToWindow()之前修改您的视图?