如何恢复Android片段视图状态

7
我在屏幕上有应用程序标题碎片和内容碎片。当用户在标题碎片中点击项时,相应的碎片被创建并插入到一个框架中,并且所选的标题在标题碎片中突出显示。
使用fragment.addToBackStack()来完成事务处理,因此当用户点击BACK键时,上一个碎片会被恢复并插入到框架中。
当事务管理器还原碎片时,最好的解决方案是什么?
问题是我需要在标题碎片中突出显示以前的碎片名称,而且我需要知道它是哪个碎片。我通过在自己的堆栈中存储视图状态来解决这个问题:当碎片被创建并在更改事务回退时恢复时,使用事务管理器侦听器。但这似乎不是正确的解决方案。
1个回答

1

在回答问题之前,请记得添加你的代码。如果没有代码,我的回答可能无法帮助你。

虽然这是老问题,但如果我正确理解了你的问题和应用程序架构,它似乎是一个接口的案例。

例如:

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

public class ContentFragment extends Fragment{

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接