重新创建片段 - 查看寻呼机 - FragmentPagerAdapter

时间:2012-05-24 09:16:01

标签: android android-fragments android-viewpager

在我的应用程序中,我使用的是支持库-v4

中的ViewPager
  1. 在主屏幕中我有viewPager,它有最多5个片段,所有片段属于一个类ArticlePager

  2. 现在在主屏幕上有类别列表,现在寻呼机的内容基于该选择,

  3. 我遇到的问题是,我使用了存储Fragment的FragmentPagerAdapter,如果片段已经存在,它将返回旧的Fragment而不重新创建它。事情运行得很好,但问题发生在方向改变的时候。

    例如

    如果每个片段中有5个正常视图对于给定的位置,但也有一些包含2-3个视图。 现在如果我更改了方向,请使用中的仅包含3个视图。

    所以,到目前为止,在第5页的每一个类别中,我都会看到包含3个视图的视图,这不是我想要的。

    在我的应用程序中,每个类别都包含分页

    有没有办法让我可以点击类别来破坏和重新创建片段?或任何其他工作

    谢谢

2 个答案:

答案 0 :(得分:6)

好的,感谢开源,我找到了我的解决方案,FragmentPagerAdapter我已经覆盖方法instantiateItem并得到了解决方案。

这可以通过FragmentStatePagerAdapter轻松实现,使其不存储片段。它一直在重新创建它,但由于只有几页,我不希望在100页的页面中。

答案 1 :(得分:0)

因此,如果我理解正确,你的问题是旋转后,ViewPager中有一组错误的片段?

为什么不检查Activity的onResume()或onStart()中当前选定的选项卡,并为ViewPager创建/分配一个具有正确片段的新PagerAdapter?