RecyclerView
中有一个Fragment
,ViewPager
再次出现ViewPager
,当我在onDetach
页之间滑动时,我看到Fragment
{ {1}}被调用但由于某种原因RecyclerView
仍存在于Fragment
的{{1}}的特定位置,即使ViewPager
的滚动位置也会被保留当我回到分离的碎片时。
我正在RecyclerView
使用FragmentStatePagerAdapter
而我正在从ViewPager
返回POSITION_NONE
,但它没有效果。
请帮我理解这里的问题。
答案 0 :(得分:0)
它是因为viewpager使用缓存机制。 阅读这篇文章:
http://doublenegative.com/fragment-state-restoration-and-the-fragmentstatepageradapter/
答案 1 :(得分:0)
FragmentStatePagerAdapter
保存状态并摧毁碎片;它还会在重新创建片段时恢复状态,从而恢复recycleview状态(滚动位置)。
从最终用户来看,它与使用FragmentPageAdapter
保持内存中的片段的行为相同。
这是正常且通常需要的行为。