我在活動中有幾個片段,由底欄更改。我嘗試用Once for all, how to correctly save instance state of Fragments in back stack? 的問題是,旋轉過程中無法保存片段狀態
mContent = getSupportFragmentManager().getFragment(savedInstanceState, TAG);
返回一個錯誤來實現片段狀態處理:
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
在調試我的下一個savedInstanceSet:
[email protected], size = 4
value[0]=Bundle
value[1]="FragmentName"
value[2]=FragmentManagerState
value[3]={Integer}"0"
請不要粘貼像
setRetainInstance(true),
android:configChanges="orientation|screenSize"
等等,因爲我需要重新創建片段(不同的xml文件的土地和肖像)。
我不能用這一個,因爲我需要從土地/佈局文件重新創建2個片段。那麼還有其他解決方案嗎? –
永遠不要手動調用'生命週期'方法。他們應該只被操作系統調用。話雖如此,請考慮刪除答案。 –