繁体   English   中英

如何恢复Android片段视图状态

[英]How to restore Android fragment view state

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

使用fragment.addToBackStack()完成事务,因此当用户单击BACK键时,将恢复先前的片段并将其插入帧中。

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

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

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

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

这是旧的,但无论如何,如果我正确理解你的问题(和应用程序架构),它听起来像接口的情况。

例:

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

public class ContentFragment extends Fragment{

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM