【问题标题】:saving fragment state actionbar tab保存片段状态操作栏选项卡
【发布时间】:2012-04-05 23:28:51
【问题描述】:

我正在构建一个由带有选项卡的操作栏组成的应用程序,每个选项卡都由一个片段组成。其中一个片段具有需要加载的数据。所以我希望数据只在第一次加载。当用户更改选项卡并返回包含该片段的选项卡时,不要等待再次加载数据。我假设我必须使用某种保存数据的方式,以便下次用户返回该特定片段时可以使用它。但我只是不知道我应该使用什么方法。如果有人知道或可以建议保存片段状态的示例,请告诉我。谢谢你!

【问题讨论】:

    标签: android tabs fragment android-actionbar


    【解决方案1】:

    试试这个:

    myFragment.setRetainInstance(true);
    

    这意味着片段不会在每次添加时都重新创建。

    【讨论】:

    • 我试过了,但没有成功。当我转到其他选项卡并返回该特定选项卡时,再次调用 onCreate。我认为这不应该发生。
    • 您似乎在强制重新创建片段。您需要使用相同的对象。
    • 是的,我刚刚意识到这一点。我通过更改 TabListener 的 onTabSelected 和 onTabUnselected 函数中的一些内容解决了这个问题。当用户单击不同的选项卡时,我隐藏了我只想第一次加载的片段,而不是删除它。因此,下次用户单击该特定片段时,我只显示它。还是谢谢你的回复。
    • @OllieC 我也有同样的问题。我会在哪里添加myFragment.setRetainInstance(true);
    • @Sandra 你最终做了什么来解决这个问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 2013-04-05
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多