当前位置: 首页 > 知识库问答 >
问题:

如何在Android中保存和恢复FragmentPagerAdapter状态?

谭坚诚
2023-03-14

我有一个ViewPager有3个碎片绑定在FragmentPagerAdapter在一个FragmentActivity中,当我切换到不同的应用程序,回到我的应用程序后,或者在一个输入调用后,碎片没有恢复到以前的状态,一个碎片完全消失了,一些碎片按钮点击不工作..但在模拟器中它的工作很好

帮帮我吧...

共有1个答案

万博涛
2023-03-14

重写fragment中的OnActivityCreated

当您回到fragment时将调用此方法

@Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
            // Do your stuff
}

并将这一行添加到所有片段的parentActivity中:

viewPager.setOffscreenPageLimit(3);

并切换到FragmentStatePagerAdapter而不是使用FragmentPagerAdapter

 类似资料:
  • 我搜索了很多信息,但没有一个明确的。有人能给出一个明确的解决方案和一个例子吗?

  • 在绘画的时候,经常会有这种情况,本来正在用绿色笔画,突然需要用红色笔画几笔,但画完了之后又要换成绿色笔。如果是在现实中作画,可以把笔蘸上不同的墨水,画了之后又蘸上之前的墨水,或者准备几只笔,要用哪只就选哪只。 在Canvas中也可以这样,不过Canvas中的画笔永远只有一只。所以,如果要更换画笔的颜色,就需要保存和恢复状态。状态其实就是画布当前属性的一个快照,包括: 图形的属性值,如strokeS

  • 我正在开发一个android烹饪应用程序(使用java),主页有一个回收器视图,其中填充了用户可以喜欢的食谱(类似于FaceBook帖子)。喜欢按钮是一个复选框,保存每个食谱的喜欢复选框状态的最佳方式是什么,所以当用户退出应用程序并再次登录时,他们不会多次喜欢同一个食谱。 在这种情况下,使用SharedReference是一个好主意吗? **im使用MySql作为数据库,不使用firebase。

  • 状态的保存与恢复 操作流程 为了状态的保存与恢复,我们可以先用栈上的一小段空间来把需要保存的全部通用寄存器和 CSR 寄存器保存在栈上,保存完之后在跳转到 Rust 编写的中断处理函数;而对于恢复,则直接把备份在栈上的内容写回寄存器。由于涉及到了寄存器级别的操作,我们需要用汇编来实现。 而对于如何保存在栈上,我们可以直接令 sp 栈寄存器直接减去相应需要开辟的大小,然后依次放在栈上。需要注意的是,

  • 我试图理解使用片段保存和恢复状态的过程。我用它创建了滑动导航菜单。 其中一个片段中有以下代码: 例如,我想在用户退出片段之前保存复选框的状态,并在再次创建片段时恢复它。如何实现这一点? 编辑: 根据raxellson的回答,我将片段更改为: 我已被记录,因此未保存savedInstanceState。我做错了什么?

  • 我有一个HomeActivity,我从中调用片段列表。在HomeActivity中,我有一个侧菜单,其中加载了所有片段。 现在,在这个列表中,我有一个名为HomeFraank的片段,它使用webservice显示带有数据的Google地图。 我想要的是我想加载Map dat只加载一次(第一次)片段,而不是每次单击sidemenu或从任何其他片段进来时。 我的HomeFragment或任何其他片段会