Я создал виджет с вкладкой фрагмента после образца пакета совместимости с фрагментом, я меняю фрагмент на onTabChanged
, но у меня есть некоторые отчеты о рынке, которые показывают IllegalStateException
после onSaveInstanceState
, это вызвано запросом фиксации для менеджера фрагментов после вызова onSaveInstanceState()
, но как я могу получить performClick после вызова onSaveInstanceState
?
трассировка стека:
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1314)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1325)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:548)
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:532)
at my.app.NewsTab.onTabChanged(NewsTab.java:144)
at android.widget.TabHost.invokeOnTabChangeListener(TabHost.java:378)
at android.widget.TabHost.setCurrentTab(TabHost.java:363)
at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:149)
at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:559)
at android.view.View.performClick(View.java:3122)
at android.view.View$PerformClick.run(View.java:12012)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:132)
at android.app.ActivityThread.main(ActivityThread.java:4126)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:491)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
at dalvik.system.NativeStart.main(Native Method)
похоже, что это было как-то обсуждено (путем поиска ошибки), но для меня это только побочный эффект, ошибка в поддержке? Я также прочитал о другом жизненном цикле приложения для honeycomb +, но выполнить щелчок после сохранения экземпляра для меня выглядит нереалистичным.
использовать commitAllowingStateLoss()
или mTabHost.setOnClickListener(null)
в onSaveInstanceState
?
К сожалению, я не могу воспроизвести, я вижу только редкие отчеты на консоли разработчика
активность имеет android:configChanges="orientation|screenLayout"
Я тестировал жизненный цикл также с "всегда закончить"
переключатель фрагментов вкладок находится внутри ViewPager, но я сомневаюсь, что он может быть связан