将ViewPager与Fragments一起使用时,会在滑动时销毁碎片

时间:2013-07-26 20:37:53

标签: android android-viewpager fragment

我的应用程序有一个ViewPager,其适配器返回三个片段。 每个Fragment都会在onCreateView中从Web加载一个数据列表。 所以我们称这些片段为A,B,C。

一旦打开包含viewPager的活动,就会加载片段A和B. 但现在只有A可见。 因此,如果我向右滑动,则B可见,并且C在场景后面加载。 如果我再次向右滑动,则可以看到C. 问题是,片段A的onDestroyView()被调用,所有加载的数据都消失了! 因此,如果我回到片段A,则再次调用A的onCreateView(),并再次从Web加载A的数据。

与Fragment一起使用时,它是ViewPager的默认行为吗? 是否有可能将片段活着(通过不调用onDestroyView()),即使它不可见?

谢谢

1 个答案:

答案 0 :(得分:10)

尝试:

yourViewPager.setOffscreenPageLimit(2)

其中2是要保留在当前页面任一侧的内存中的页面数。