Android - Honeycomb - Action Bar选项卡片段保存/恢复状态

时间:2011-06-03 19:30:39

标签: android

在文档中,它表示确保在使用操纵栏选项卡时保存片段的状态,这样当您切换选项卡时,片段将看起来像以前一样。这是怎么做到的?使用样本处理选项卡时,切换选项卡时不会调用onSavedInstanceState,以便在哪里保存状态?我是否在活动级别进行此操作?我只希望状态是暂时的。

由于

2 个答案:

答案 0 :(得分:1)

Fragment.onSaveInstanceState()是正确的地方。当需要保存状态时将调用它。如果没有调用它,则不需要保存它。

答案 1 :(得分:0)

我遇到了完全相同的问题,并提出了一个感觉多余的解决方案(我认为这个功能可以更好地工作),但它确实有效。解决方案是通过活动手动管理状态包。

保存状态:在每个片段中,实现一个名为getState()的函数,它将返回一个包含片段要保存的状态数据的包。然后,活动应该在从视图中删除片段之前调用它。

恢复状态:在片段中实现一个方法或构造函数,该方法或构造函数接受之前保存的相同包,并解压缩要使用的包,但这对于片段是有意义的。当活动将片段添加回视图时,以先前提供的片段传递包,然后设置。