我錯過了什麼或做Fragment
s沒有onRestoreInstanceState()
方法嗎?如果不是,我該如何去做類似的事情?android的片段onRestoreInstanceState
95
A
回答
167
21
在碎片指南的ListFragment example你可以找到:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("curChoice", mCurCheckPosition);
}
您可以使用這樣的:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
// Restore last state for checked position.
mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
}
}
onActivityCreated()
片段返回從堆棧回來之後被調用。
28
我知道,你已經接受的答案,但你應該閱讀official documentation about fragments,和它說(款「處理片段生命週期」):
您可以使用捆綁保留片段的狀態如果活動的進程被終止,並且您需要在重新創建活動時恢復片段狀態。您可以將片段的的onSaveInstanceState()回調過程中保存狀態,要麼的onCreate(),onCreateView(),或onActivityCreated()
所以在恢復它,您可以使用最適合你:onCreate()
,onCreateView()
,或onActivityCreated()
5
onViewStateRestored
Fragment
相當於Activity
的onRestoreInstanceState
。但是在onActivityCreated(Bundle)
之後和onStart()
之前調用它。
相關問題
- 1. onRestoreInstanceState後執行片段操作
- 2. Android onRestoreInstanceState(Bundle savedInstanceState)
- 3. 片段android片段調用
- 4. 片段後android中的片段
- 5. Android中的片段 - 片段通信
- 6. Xamarin Android調用片段內的片段
- 7. Android - 片段中的對話框片段
- 8. 基於「片段基礎」的Android片段
- 9. 的setContentView onRestoreInstanceState
- 10. NullPointerException Android的片段
- 11. 片段Xamarin的Android
- 12. 片段Xamarin的Android
- 13. Android片段onVisible
- 14. android片段tablelayout
- 15. Android viewpager片段
- 16. Android片段
- 17. Android Imagebutton片段
- 18. 片段Android
- 19. onBackPressed Android片段
- 20. Android:從onRestoreInstanceState()調用AsynchTask失敗
- 21. 保持片段Synconized - 片段Android
- 22. Android:活動與片段(片段頂部)
- 23. 片段onback按鈕android跳過片段
- 24. Android:片段到片段生命週期
- 25. 片段實例或多個片段(Android)
- 26. Android嵌套片段片段交互
- 27. 隱藏Android片段
- 28. Android片段問題
- 29. Android片段重疊
- 30. Android - 刷新片段
這不是一個一致的設計,是嗎? – 2012-01-27 18:31:33
這也不關心恢復片段嗎?它適用於配置更改,但如果你從一個片段開始一個活動,然後回到片段呢? – speedynomads 2013-06-04 16:41:20
片段應該屬於開始的活動,所以如果保存在片段中,它會保存到父活動中。因此,如果您保留該片段(屬於某個活動)並返回片段,則會從父活動中恢復所有值 – Shaun 2013-12-05 03:16:08