无限的ViewPager Android

6

假设我在我的ViewPager中有两个页面,是否有任何方法可以从第二页到第一页移动,但是像用户访问第三页一样进行所有动画?


你的意思是这两页应该连续出现吗? - Praveenkumar
这个来自Github的项目可能会给你一些启示。 - blessanm86
我不知道你们能否运行这个项目,但似乎在我第一次向下滑动到下一页时它崩溃了。 - toantran
@autobot_101 目前的安卓版本可能存在问题。我已经有一段时间没有在安卓上工作了,我相信现在应该有更好的实现方法。 - blessanm86
@blessenm 谢谢,我已经在两个不同的设备上尝试了,一个运行Android 2.3.6,另一个运行Android 4.1.2。 它们都抛出异常。而且令人沮丧的是似乎没有其他方法来处理这个设计 :( - toantran
@autobot 什么异常?你能在我的 Github 问题跟踪器中详细说明你的问题吗?我会尽力让它在设备上至少可以工作。 - blessanm86
1个回答

4
您可以通过使用自定义的FragmentPagerAdapter来实现这一点,该适配器会重复提供相同的片段:
private class EndlessPagerAdapter extends FragmentPagerAdapter {

        private EndlessPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            if (position % 2 == 0) {
                return fragmentOne;
            } else {
                return fragmentTwo;
            }
        }

        @Override
        public int getCount() {
            return Integer.MAX_VALUE;
        }
    }

为您的 ViewPager 设置适配器,并从中间开始,以允许无限制地向任何方向滑动:

mViewPager.setAdapter(new EndlessPagerAdapter(getChildFragmentManager()));
mViewPager.setCurrentItem(Integer.MAX_VALUE/2);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接