【问题标题】:How to restore Android fragment view state如何恢复Android片段视图状态
【发布时间】:2012-01-02 13:17:39
【问题描述】:

我在屏幕上有应用程序 titles 片段和 contents 片段。当用户单击标题片段中的项目时,会创建相应的片段并将其插入到框架中,并且所选标题在标题片段中突出显示。

事务是用fragment.addToBackStack() 完成的,所以当用户点击BACK 键时,之前的片段被恢复并插入到帧中。

当事务管理器恢复片段时,恢复视图状态的最佳解决方案是什么?

问题是我应该在标题片段中突出显示以前的片段名称,并且我应该知道它是什么片段。我通过将视图状态存储在我自己的堆栈中来解决它:创建片段并使用事务管理器侦听器在更改事务回栈时恢复。

但这似乎不是正确的解决方案。

【问题讨论】:

    标签: android android-fragments fragment


    【解决方案1】:

    在回答之前,下次记得添加您的代码。很可能我的回答不会尽可能地帮助你,因为我真的不知道你的代码。

    这是旧的,但无论如何,如果我正确理解您的问题(和应用架构),这听起来像是一个接口案例。

    例子:

    将此接口作为成员添加到内容片段:

    public class ContentFragment extends Fragment{
    
       public interface onFragmentTitleHighlighted{
          public void highLightTitle(String title);
       }
    }
    

    并让标题片段实现它。确保为您的内容片段配备标题片段网络,并在内容片段的 onCreateView(...) 调用中添加对highLightTitle(String title); 的调用。这样,每当添加新的内容片段时,标题都会突出显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-04
      • 2014-04-25
      • 1970-01-01
      • 2019-12-02
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      相关资源
      最近更新 更多