android片段 - 如何在片段上推送另一个片段时保存片段中的视图状态在android中,一个片段(比如说FragA)被添加到backstack而另一个片段(比如说FragB)会出现在顶部。现在回击FragA到顶部并被onCreateView()称为。现在我FragA处于一个特定的状态,然后FragB被推到它之上。我的问题是如何恢复FragA到以前的状态?有没有办法保存状态(比如说在Bundle中),如果有,那么我应该覆盖哪种方法?
3 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
在片段指南 FragmentList示例中,您可以找到:
@Overridepublic void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putInt("curChoice", mCurCheckPosition);}
您可以在以后使用,如下所示:
@Overridepublic void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (savedInstanceState != null) { // Restore last state for checked position. mCurCheckPosition = savedInstanceState.getInt("curChoice", 0); }}
我是Fragments的初学者,但它似乎是你的问题的解决方案;)在从后栈返回片段后调用OnActivityCreated。
幕布斯7119047
TA贡献1794条经验 获得超8个赞
请注意,如果您使用ViewPager处理Fragments,则非常简单。你只需要调用这个方法:setOffscreenPageLimit()
。
符合文档:
在空闲状态下设置应保留到视图层次结构中当前页面任一侧的页数。超出此限制的页面将在需要时从适配器重新创建。
类似的问题在这里
- 3 回答
- 0 关注
- 298 浏览
添加回答
举报
0/150
提交
取消