这似乎有可能,但是我在弄清楚如何实现可以无限分页的ViewPager
时遇到了一些麻烦。
我的用例是一次显示一个月的日历,但是通过分页足够的次数就可以切换到任何月份。
目前,我只是extending PagerAdapter
,并且添加了3个自定义MonthViews
,如下所示:
@Override
public Object instantiateItem(View collection, int position) {
final MonthView mv = new MonthView(HistoryMonthActivity.this);
mv.setLayoutParams(new ViewSwitcher.LayoutParams(
android.view.ViewGroup.LayoutParams.MATCH_PARENT,
android.view.ViewGroup.LayoutParams.MATCH_PARENT));
mv.setSelectedTime(mTime);
((DirectionalViewPager) collection).addView(mv, 0);
return mv;
}
我想一次仅在内存中保留3个
MonthView
,以便在用户进行制表操作时,在每个MonthView
上显示来自我的数据库的数据不会有很大的延迟。因此,每次显示新页面时,我将需要删除一个MonthView
并添加一个MonthView
。如果有人对相同的功能有更好的主意,我将很乐意听到!我正在考虑尝试使用
FragmentStatePagerAdapter
。 最佳答案
我可以在MonthView
,PagerAdapter
的OnPageChangeListener
和编辑ViewPager
本身的源代码中使用一些魔术来实现此目的。如果有人对我的实现方式感兴趣,请添加check out the source code或评论特定问题。