在它說,以確保您使用與操作欄標籤時,這樣當你切換標籤的片段看起來像以前一樣保存一個片段的狀態的文檔。這是如何完成的?使用樣本處理選項卡時,切換選項卡時不會調用onSavedInstanceState,以便在何處保存狀態?我是否在活動層面上做到這一點?我只想要這個國家是暫時的。的Android - 蜂窩 - 操作欄標籤片段保存/恢復狀態
謝謝
在它說,以確保您使用與操作欄標籤時,這樣當你切換標籤的片段看起來像以前一樣保存一個片段的狀態的文檔。這是如何完成的?使用樣本處理選項卡時,切換選項卡時不會調用onSavedInstanceState,以便在何處保存狀態?我是否在活動層面上做到這一點?我只想要這個國家是暫時的。的Android - 蜂窩 - 操作欄標籤片段保存/恢復狀態
謝謝
Fragment.onSaveInstanceState()是適當的地方。這將在國家需要保存時被調用。如果未被調用,則不需要保存。
我跑進了完全相同的問題,並與感覺的冗餘解決方案想出了(我認爲這個功能將工作的路線更好),但它確實工作。解決方案是通過活動手動管理狀態包。
中保存狀態:在每一個片段,實現了一個名爲類似的getState()函數將返回包含片段要保存任何狀態數據捆綁。然後該活動應該在從視圖中刪除片段之前調用它。
中恢復狀態:實現在接受它之前保存在同一個包中的片段的方法或構造,並解包束然而,應當使用是有意義的片段。當活動將片段添加回視圖時,請通過先前提供的片段傳遞該包,並且應該設置該片段。
這並不爲我工作。如果您使用處理選項卡的示例方式,則當您取消選擇選項卡並在選擇選項卡時添加片段時,片段管理器會刪除片段。如果你回到它的標籤時有一個ListFragment,它甚至不記得你在列表中的位置。在3.0之前,如果你的標籤有活動,系統會記住它們的狀態。我正在嘗試在HC中執行相同的操作,但未調用onSavedInstanceState。 – Nic 2011-06-03 19:46:06
僅當片段被完全刪除時纔會調用onSaveInstance狀態。例如,如果您更改屏幕方向。如果您想要保存某些內容,則在從該佈局中刪除選項卡時,如果選中此選項卡,則會覆蓋顯示的片段中的onPause。 – Janusz 2011-09-30 13:31:58
如何獲取更新包才能通過onActivityCreated塊,如果我把它保存在的onPause - 我不能叫setArgument因爲這個片段仍然活躍 – 2012-03-29 12:08:24