这似乎有可能,但是我在弄清楚如何实现可以无限分页的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

最佳答案

我可以在MonthViewPagerAdapterOnPageChangeListener和编辑ViewPager本身的源代码中使用一些魔术来实现此目的。如果有人对我的实现方式感兴趣,请添加check out the source code或评论特定问题。

10-08 09:12