由ViewPager2的FragmentStateAdapter管理的片段无效

时间:2020-07-07 10:09:47

标签: android android-recyclerview android-viewpager2

我的设置如下:

  • ViewPager2实例使用...
  • FragmentStateAdapter作为适配器。
  • getSupportFragmentManager已传递给FragmentStateAdapter的构造函数。

任务

在某些情况下,我希望“从头开始”而不是从其savedInstanceState重新创建片段。换句话说,我想告诉ViewPager2 / FragmentStateAdapter / FragmentManger不要将savedInstanceState捆绑包向下传递到Fragment.onCreate(Bundle)

问题

是否有某种方法可以使缓存“无效”或ViewPager2 / FragmentStateAdapter / FragmentManager中的任何内容,这样我就可以控制Fragment应该何时“无效”(何时应该将Fragment设为“无效”)。是从头开始创建的,而不是从savedInstanceState创建的?)

可能的解决方案(不足以满足我的需求)

我知道有FragmentStateAdapter.getItemId(int)FragmentStateAdapter.containsItem(long)可用于控制片段的实例化。但是,此解决方案要求对(在我的情况中为数百个)ID进行适当的管理,并在每次重新创建碎片时以某种方式更新/修改它们。

真的没有办法使某种全局缓存无效吗?

0 个答案:

没有答案
相关问题