Android在ViewPager中显示特定图像

Android在ViewPager中显示特定图像,android,Android,我正在使用ViewPager切换图像,它可以正常工作。 我有网格视图,当我点击它的图像。同样的图像可以打开。但是,当我在图像之间切换时,它从一开始就开始,从第一个图像开始 比如说。 我有int[5]图像。 如果id=3 然后显示图像3 1 2 3 4。重复显示图像3,不显示图像[0] 如果我向右滑动,我希望它是4,如果我向左滑动,它是2 如果你还是不明白。这是我的应用程序的视频链接。 您需要正常显示您的ViewPager,并调用ViewPager.setCurrentItem(itemInde

我正在使用ViewPager切换图像,它可以正常工作。 我有网格视图,当我点击它的图像。同样的图像可以打开。但是,当我在图像之间切换时,它从一开始就开始,从第一个图像开始

比如说。 我有int[5]图像。 如果id=3 然后显示图像3 1 2 3 4。重复显示图像3,不显示图像[0]

如果我向右滑动,我希望它是4,如果我向左滑动,它是2

如果你还是不明白。这是我的应用程序的视频链接。


您需要正常显示您的ViewPager,并调用
ViewPager.setCurrentItem(itemIndex)
转到所选图像的位置


您目前正在做的是将第一个图像替换为所选图像。因此,如果选定的不是第一个,则图像0不会显示,选定的图像会显示两次。

当用户单击按钮(或OP问题中的图像)时,if语句中的
id
是什么
viewpager
是您在活动中使用
findViewById(R.id.my_viewpager)
检索的viewpager实例
@Override
public Object instantiateItem(ViewGroup viewGroup, int position)
{
    if(position == 0) {
        position = id;
    }
    ImageView imageView = new ImageView(context);
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    imageView.setImageResource(images[position]);

    viewGroup.addView(imageView);
    return imageView;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
    ((ViewPager) container).removeView((ImageView) object);
}
@Override
public boolean isViewFromObject(View view, Object object) {
    return view == object;
}