如果达到setOffscreenPageLimit,则位于ViewPager中的片段中的Android RecyclerView不会重新加载/刷新视图

时间:2015-07-27 12:42:39

标签: android android-fragments android-viewpager android-recyclerview

RecyclerView中有一个FragmentViewPager再次出现ViewPager,当我在onDetach页之间滑动时,我看到Fragment { {1}}被调用但由于某种原因RecyclerView仍存在于Fragment的{​​{1}}的特定位置,即使ViewPager的滚动位置也会被保留当我回到分离的碎片时。

我正在RecyclerView使用FragmentStatePagerAdapter而我正在从ViewPager返回POSITION_NONE,但它没有效果。

请帮我理解这里的问题。

2 个答案:

答案 0 :(得分:0)

它是因为viewpager使用缓存机制。 阅读这篇文章:

http://doublenegative.com/fragment-state-restoration-and-the-fragmentstatepageradapter/

答案 1 :(得分:0)

FragmentStatePagerAdapter保存状态并摧毁碎片;它还会在重新创建片段时恢复状态,从而恢复recycleview状态(滚动位置)。

从最终用户来看,它与使用FragmentPageAdapter保持内存中的片段的行为相同。

这是正常且通常需要的行为。