2 qq 31244409 qq_31244409 于 2016.02.28 22:08 提问

关于viewpager实现左右滑动到问题

在最后一张图向右继续滑动时,跳转到第一张图片

 picture_viewpager.setAdapter(new PagerAdapter() {
            @Override
            public int getCount() {
                return pictureList.size();
            }

            @Override
            public boolean isViewFromObject(View view, Object object) {
                return view == object;
            }

            @Override
            public Object instantiateItem(ViewGroup container, int position) {
                container.addView(pictureList.get(position));
                return pictureList.get(position);
            }

            @Override
            public void destroyItem(ViewGroup container, int position, Object object) {
                container.removeView((View) object);
            }
        });


        picture_viewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                if (position==5&&positionOffset==0)
                {
                    picture_viewpager.setCurrentItem(1,false);
                }
            }

            @Override
            public void onPageSelected(int position) {

            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });

程序运行时,每次都会停止工作,是不是跟viewpager只能缓存3个页面有关,还是其他什么原因,该怎么解决

2个回答

luochoudan
luochoudan   Ds   Rxr 2016.02.28 22:20
已采纳

首先,肯定不是你说的原因。setOffscreenPageLimit()可是设置缓存的页面个数。建议把日志贴出来呃,比代码有效果多了。

qq_31244409
qq_31244409 使用这种方法确实能解决问题,但又出现了相同两张图片,如果第一张显示了,第二张就没显示,但页面是存在的
接近 2 年之前 回复
namelin2
namelin2   2016.03.03 03:07

判断条件有问题,另外日志也要贴出来,估计是数组越界异常

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!