[英]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.