我错过了什么或做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