使用FragmentTransition報錯java.lang.IllegalStateException: Can not perform this action after onSaveIns

調用FragmentTransition的commit()方法時發生的該問題,於是搜了下相關解答,得知:我使用的 commit方法是在Activity的onSaveInstanceState()之後調用的,這樣會出錯,因爲onSaveInstanceState方法是在該Activity即將被銷燬前調用,來保存Activity數據的,如果在保存玩狀態後再給它添加Fragment就會出錯。

 

  解決辦法:把commit()方法替換成 commitAllowingStateLoss()就行了,從名字上就能看出,這種提交是允許狀態值丟失的。到此問題得到完美解決,值的傳遞是你自己控制的,其效果是一樣的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章