我一直在使用CWAC 的 EndlessAdapter实现ListViews的无限滚动。
我想完成 ViewPager 的同等功能。不幸的是,PageAdapter 和ListAdapter 不共享相同的公共基类。
解决这个问题的最佳方法是什么?是否存在已经处理此问题的库?
解决这个问题的最佳方法是什么?
将“无尽”逻辑添加到您自己的实现中PagerAdapter
。或者,如果您愿意,可以尝试创建一个装饰PagerAdapter
,这样的方式EndlessAdapter
装饰一个常规的Adapter
.
考虑到后者可能会很棘手PagerAdapter
专为页面视图或片段而设计,以及类内部的片段处理,例如FragmentPagerAdapter
有点吓人。
是否存在已经处理此问题的库?
据我所知,没有一个。
主要是因为用例似乎不那么引人注目。与一个ListView
,用户可以快速滚动列表,快速滚动数十或数百行。因此,使用“我们到了最后”作为加载更多数据的触发器似乎是合理的。与一个ViewPager
但是,通常需要更长的时间才能到达终点,特别是如果您不使用PagerTabStrip
或同等内容。因此,等到用户一直读到最后才开始加载附加数据似乎会让用户感到厌烦——您有所有这些时间来检索更多数据,但没有使用它。
因此,另一种选择是您注册一个ViewPager.OnPageChangeListener
和你的ViewPager
. When onPageSelected()
,并且您认为自己已接近尾声,开始AsyncTask
(或其他什么)去收集更多数据。问题是您将需要更新所使用的数据PagerAdapter
并打电话notifyDataSetChanged()
数据更新后,在该适配器上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)