У меня проблема с выпадающим списком счетчика и с изменением ориентации.
В своей деятельности я отображаю диалог, в котором у меня есть два счетчика.Когда пользователю показывают диалоговое окно и пользователь меняет ориентацию экрана, все в порядке - в моем onPause я просто закрываю диалоговое окно.
Если пользователь нажимает на счетчик, выпадающий списоксписок показывается пользователю перед сменой ориентации.Но я столкнулся с ошибкой, когда пользователь ничего не выбирает из раскрывающегося списка и просто оставляет список расширенным, прежде чем менять ориентацию.
Я пытался решить многие проблемы (например, * 1007).* в onSaveInstanceState()
и т. д.).Моя идея - закрыть раскрывающийся список из кода, когда пользователь не выбирает элемент и происходит изменение ориентации.
Ошибка составляет около 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)
Также появляется эта ошибка:
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)
РЕДАКТИРОВАТЬ
РЕШЕНИЕ:
Наконец-то я нашел причину этой ошибки * & # $%.В манифесте в моей деятельности у меня есть Android: configChanges = "ориентация", когда я изменяю его на Android: configChanges = "клавиатура скрытая | ориентация" проблема исчезла!
Помощь Thx 4!