我打電話popBackStack()在活動onCreate()方法,但我得到異常:popBackStack和commitAllowingStateLoss
Caused by java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
android.app.FragmentManagerImpl.checkStateLoss (FragmentManager.java:1428)
android.app.FragmentManagerImpl.enqueueAction (FragmentManager.java:1446)
android.app.FragmentManagerImpl.popBackStack (FragmentManager.java:572)
我明白,解決這個異常的一種方式,只要你是對的影響OK UI和最終用戶是調用commitAllowingStateLoss。
的問題是,與popBackStack沒有委託調用。有沒有其他方法可以調用popBackStack並允許狀態丟失?
我應該說,我在onPostResume這樣做的,得到這個例外。
我認爲這個錯誤當您在不活動的活動上調用popBackStack()時會引發這個問題。發佈代碼以進一步調試 – arjun
@arjun我從onPostResume中調用popBackStack,根據我可以找到的所有參考,這是一個安全的地方,在應用程序恢復後調用它。我不能發佈任何更多的代碼,因爲應用程序是巨大的,但歸結爲在onPostResume中調用popBackStack。當應用程序安全恢復後,肯定會有一些地方可以重新初始化GUI? – user3690202
正如@arjun建議的,你有沒有嘗試在'onResumeFragments()'中執行它? – azizbekian