无法在 ViewPager 上向右滑动

Unable to swipe right on ViewPager

我在 android 上使用 ViewPager。

当我从 0 以外的某个位置启动 ViewPager 时,我无法向右滑动返回到之前的位置,但我可以向左滑动以转到下一个位置。

它是默认的 ViewPager 属性 吗?我需要做什么才能向右滑动?

内部 OnCreate

viewPager = (ViewPager) findViewById(R.id.pager);
ImagePagerAdapter adapter = new ImagePagerAdapter();
viewPager.setAdapter(adapter);

在 OnCreate 之外

    private class ImagePagerAdapter extends PagerAdapter{

        @Override
        public int getCount() {

            return imageFull.size();
        }

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

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            Context context = ImageGallery.this;

            SubsamplingScaleImageView fullImage = 
            new SubsamplingScaleImageView(ImageGallery.this);


           // starting the view pager from position 4 
           viewPager.setCurrentItem(4);
           fullImage.setImage(ImageSource.uri(imageFull.get(position_value)));


            return fullImage;
        }

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

        }
}
viewPager = (ViewPager) findViewById(R.id.pager);
ImagePagerAdapter adapter = new ImagePagerAdapter();
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(4);

private class ImagePagerAdapter extends PagerAdapter{

    @Override
    public int getCount() {

        return imageFull.size();
    }

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

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        Context context = ImageGallery.this;

        SubsamplingScaleImageView fullImage = 
        new SubsamplingScaleImageView(ImageGallery.this);



       fullImage.setImage(ImageSource.uri(imageFull.get(position_value)));


        return fullImage;
    }

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

您应该在为 viewpager 设置适配器之后 setCurrentItem 而不是在 viewpager instantiateItem() 方法中。你应该试试这个:

内部 OnCreate

viewPager = (ViewPager) findViewById(R.id.pager);
ImagePagerAdapter adapter = new ImagePagerAdapter();
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(4);