Android在ViewPager中显示特定的图像

时间:2017-07-26 16:20:15

标签: android

我使用ViewPager来切换图像并且它可以工作。 我有网格视图,当我点击它上面的图像。相同的图像打开好了。但是当我在图像之间切换时,它从头开始离开第一个。

例如,

。 我有int [5]图像。  如果id = 3 然后它显示图像3 1 2 3 4.重复图像3并且不显示图像[0]。

如果我向右滑动,我希望它为4,如果我向左滑动则需要2。

如果你仍然无法理解。这是我的应用程序的视频链接。 https://youtu.be/HI-BYz4M8ms

@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;
}

1 个答案:

答案 0 :(得分:1)

您需要正常显示ViewPager并致电viewpager.setCurrentItem(itemIndex)以转到所选图片的位置。

您目前正在做的是用所选择的图像替换第一张图像。因此,如果所选择的不是第一个,则不显示图像0,并且所选择的图像显示两次。