我有一个viewPager的FragmentPagerAdapter,它最初只有一个Fragment。我想在用户从右向左滑动时向适配器动态添加一个新的Fragment,并在用户从左向右滑动时动态删除一个Fragment。我尝试使用此库https://github.com/commonsguy/cwac-pager,但是在该库中我们可以选择添加并删除按钮单击时的 fragment 。我试图将一个OnPageChangeListener添加到viewpager中,但是不止一次调用了回调方法(onPageScrolled和onPageScrollStateChanged),这导致在FragmentPagerAdapter中添加了多个 fragment 。因此,请说明如何执行此操作。

最佳答案

@dora:我认为在您的情况下,FragmentStatePagerAdapter会为您提供帮助。根据我的理解,我在下面提到了它的用法。希望它能帮助您做出决定。

有两种方法可以实现ViewPager:
•FragmentStatePagerAdapter
•FragmentPagerAdapter

FragmentStatePagerAdapter 类消耗更少的内存,因为一旦用户看不到它们,它将破坏 fragment ,仅保留该 fragment 的已保存状态

FragmentPagerAdapter: fragment 数较少时的。但是,如果将AndroidFragmentPagerAdapter用于大量 fragment ,则将导致UX杂乱无章。

viewPager所拥有的页面数量?
任何ViewPager将保留的项目数由setOffscreenPageLimit()方法设置。屏幕外页面限制的默认值为3。这意味着ViewPager将跟踪当前可见的页面,左一,右一。跟踪页面的数量始终以当前可见页面为中心。

请点击以下链接获取代码:http://www.truiton.com/2013/05/android-fragmentpageradapter-example/

关于android - 从FragmentPagerAdapter动态添加和删除 fragment ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20072365/

10-12 04:02