android片段 - 如何在片段上推送另一个片段时保存片段中的视图状态

android片段 - 如何在片段上推送另一个片段时保存片段中的视图状态

在android中,一个片段(比如说FragA)被添加到backstack而另一个片段(比如说FragB)会出现在顶部。现在回击FragA到顶部并被onCreateView()称为。现在我FragA处于一个特定的状态,然后FragB被推到它之上。

我的问题是如何恢复FragA到以前的状态?有没有办法保存状态(比如说在Bundle中),如果有,那么我应该覆盖哪种方法?


临摹微笑
浏览 306回答 3
3回答

喵喔喔

在片段指南 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

请注意,如果您使用ViewPager处理Fragments,则非常简单。你只需要调用这个方法:setOffscreenPageLimit()。符合文档:在空闲状态下设置应保留到视图层次结构中当前页面任一侧的页数。超出此限制的页面将在需要时从适配器重新创建。类似的问题在这里
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android