I have a problem with a spinner dropdown and orientation change.
In my activity I show a dialogue in which I have two spinners. When the dialog is displayed to the user, and the user changes the screen orientation, everything is fine - in my onPause I just simply turn off the dialog.
If the user clicks on the counter, a drop-down list is displayed to the user before changing the orientation. But I encountered an error when the user does not select anything from the drop-down list and simply leaves the list extended until the orientation changes.
I tried a lot to solve this problem (i.e. spinner.setSelection(0) in onSaveInstanceState() , etc.). My idea is to close the drop-down list from the code when the user does not select the element and the orientation changes.
Error: Android.WindowLeaked :
E/WindowManager( 2455): Activity pl.myapp.WebViewActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@45041e60 that was originally added here E/WindowManager( 2455): android.view.WindowLeaked: Activity pl.myapp.WebViewActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@45041e60 that was originally added here E/WindowManager( 2455): at android.view.ViewRoot.<init>(ViewRoot.java:247) E/WindowManager( 2455): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) E/WindowManager( 2455): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) E/WindowManager( 2455): at android.view.Window$LocalWindowManager.addView(Window.java:424) E/WindowManager( 2455): at android.app.Dialog.show(Dialog.java:241) E/WindowManager( 2455): at android.app.AlertDialog$Builder.show(AlertDialog.java:802) E/WindowManager( 2455): at android.widget.Spinner.performClick(Spinner.java:257) E/WindowManager( 2455): at android.view.View$PerformClick.run(View.java:8816) E/WindowManager( 2455): at android.os.Handler.handleCallback(Handler.java:587) E/WindowManager( 2455): at android.os.Handler.dispatchMessage(Handler.java:92) E/WindowManager( 2455): at android.os.Looper.loop(Looper.java:123) E/WindowManager( 2455): at android.app.ActivityThread.main(ActivityThread.java:4627) E/WindowManager( 2455): at java.lang.reflect.Method.invokeNative(Native Method) E/WindowManager( 2455): at java.lang.reflect.Method.invoke(Method.java:521) E/WindowManager( 2455): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) E/WindowManager( 2455): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) E/WindowManager( 2455): at dalvik.system.NativeStart.main(Native Method)
In addition, this error appears:
D/AndroidRuntime( 2455): Shutting down VM W/dalvikvm( 2455): threadid=1: thread exiting with uncaught exception (group=0x4001d800) E/AndroidRuntime( 2455): FATAL EXCEPTION: main E/AndroidRuntime( 2455): java.lang.IllegalArgumentException: View not attached to window manager E/AndroidRuntime( 2455): at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:355) E/AndroidRuntime( 2455): at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:200) E/AndroidRuntime( 2455): at android.view.Window$LocalWindowManager.removeView(Window.java:432) E/AndroidRuntime( 2455): at android.app.Dialog.dismissDialog(Dialog.java:278) E/AndroidRuntime( 2455): at android.app.Dialog.access$000(Dialog.java:71) E/AndroidRuntime( 2455): at android.app.Dialog$1.run(Dialog.java:111) E/AndroidRuntime( 2455): at android.app.Dialog.dismiss(Dialog.java:268) E/AndroidRuntime( 2455): at android.widget.Spinner.onDetachedFromWindow(Spinner.java:86) E/AndroidRuntime( 2455): at android.view.View.dispatchDetachedFromWindow(View.java:6033) E/AndroidRuntime( 2455): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1158) E/AndroidRuntime( 2455): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156) E/AndroidRuntime( 2455): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156) E/AndroidRuntime( 2455): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156) E/AndroidRuntime( 2455): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156) E/AndroidRuntime( 2455): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156) E/AndroidRuntime( 2455): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156) E/AndroidRuntime( 2455): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1156) E/AndroidRuntime( 2455): at android.view.ViewRoot.dispatchDetachedFromWindow(ViewRoot.java:1630) E/AndroidRuntime( 2455): at android.view.ViewRoot.doDie(ViewRoot.java:2671) E/AndroidRuntime( 2455): at android.view.ViewRoot.handleMessage(ViewRoot.java:1948) E/AndroidRuntime( 2455): at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime( 2455): at android.os.Looper.loop(Looper.java:123) E/AndroidRuntime( 2455): at android.app.ActivityThread.main(ActivityThread.java:4627) E/AndroidRuntime( 2455): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime( 2455): at java.lang.reflect.Method.invoke(Method.java:521) E/AndroidRuntime( 2455): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) E/AndroidRuntime( 2455): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) E/AndroidRuntime( 2455): at dalvik.system.NativeStart.main(Native Method)
EDIT
DECISION:
Finally, I found the cause of the error * & # $%. In the manifest of my activity, I have android: configChanges = "orientation", when I change it to android: configChanges = "keyboardHidden | orientation" the problem is gone!
thanks 4 will help!
source share