如何恢复Android片段视图状态

时间:2012-01-02 13:17:39

标签: android android-fragments fragment

我在屏幕上有应用标题片段和内容片段。当用户点击titles片段中的项目时,将创建相应片段并将其插入到帧中,并且所选标题将在titles片段中突出显示。

使用fragment.addToBackStack()完成交易,因此当用户点击BACK键时,前一个片段将被恢复并插入到框架中。

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

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

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

1 个答案:

答案 0 :(得分:1)

在回答之前,下次记得添加你的代码。机会是我的答案不会对你有所帮助,因为我真的不知道你的代码。

这已经过时了但无论如何,如果我正确地理解了您的问题(和应用程序架构),这听起来像是接口的情况。

示例:

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

public class ContentFragment extends Fragment{

   public interface onFragmentTitleHighlighted{
      public void highLightTitle(String title);
   }
}

并让标题片段实现它。确保为内容片段配备标题fragmnet,并在内容片段的onCreateView(...)调用中添加对highLightTitle(String title);的调用。这样,只要添加新的内容fragmnet,标题就会突出显示。