2017-07-26 16 views
0

ViewPagerを使用して画像を切り替えると機能します。 グリッドビューがあり、画像をクリックすると表示されます。同じ画像がOKayを開きます。しかし、私は画像を切り替えると、最初から始まります。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; 
} 
+0

if文の 'id'は何ですか? – Panczur

答えて

1

あなたは通常どおりViewPagerを表示し、選択した画像の位置に移動するにはviewpager.setCurrentItem(itemIndex)を呼び出す必要があります。

あなたがしていることは、最初の画像を選択したものに置き換えることです。したがって、選択されたものが最初のものでない場合、画像0は表示されず、選択されたものが2回表示される。

関連する問題