为了账号安全,请及时绑定邮箱和手机立即绑定

android片段 - 如何在片段上推送另一个片段时保存片段中的视图状态

android片段 - 如何在片段上推送另一个片段时保存片段中的视图状态

临摹微笑 2019-11-17 12:12:57
android片段 - 如何在片段上推送另一个片段时保存片段中的视图状态在android中,一个片段(比如说FragA)被添加到backstack而另一个片段(比如说FragB)会出现在顶部。现在回击FragA到顶部并被onCreateView()称为。现在我FragA处于一个特定的状态,然后FragB被推到它之上。我的问题是如何恢复FragA到以前的状态?有没有办法保存状态(比如说在Bundle中),如果有,那么我应该覆盖哪种方法?
查看完整描述

3 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

片段指南 FragmentList示例中,您可以找到:

@Overridepublic void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putInt("curChoice", mCurCheckPosition);}

您可以在以后使用,如下所示:

@Overridepublic void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    if (savedInstanceState != null) {
        // Restore last state for checked position.
        mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
    }}

我是Fragments的初学者,但它似乎是你的问题的解决方案;)在从后栈返回片段后调用OnActivityCreated。



查看完整回答
反对 回复 2019-11-18
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

请注意,如果您使用ViewPager处理Fragments,则非常简单。你只需要调用这个方法:setOffscreenPageLimit()

符合文档:

在空闲状态下设置应保留到视图层次结构中当前页面任一侧的页数。超出此限制的页面将在需要时从适配器重新创建。

类似的问题在这里



查看完整回答
反对 回复 2019-11-18
  • 3 回答
  • 0 关注
  • 270 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信