无法在 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);
我在 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);