このメソッドを繰り返してポジション1を取った後、私のlogcat in printは初めてポジション0を取る、私はこのメソッドを繰り返す必要はない。androidのPagerAdapterでオブジェクトinstantiateItem()を繰り返さない方法
public Object instantiateItem(ViewGroup container, int position) {
Context context = MainActivity.this;
Log.d("position","position" +position);
ImageView imageView = new ImageView(context);
int padding = context.getResources().getDimensionPixelSize(
R.dimen.padding_medium);
imageView.setPadding(padding, padding, padding, padding);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageResource(mImages[position]);
((ViewPager) container).addView(imageView, 0);
return imageView;
}
画像スライドのこのコードは正常に動作しますが、画像のスライドは最初と最後の間違った位置のlogcat.pleaseの印刷に役立ちます。ありがとうございます。
編集:logcatで間違った印刷位置にある
public class MainActivity extends Activity {
ViewPager viewPager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.view_pager);
ImagePagerAdapter adapter = new ImagePagerAdapter();
adapter.notifyDataSetChanged();
viewPager.setAdapter(adapter);
}
private class ImagePagerAdapter extends PagerAdapter {
private int[] mImages = new int[] {
R.drawable.chiang_mai,
R.drawable.himeji,
R.drawable.petronas_twin_tower,
R.drawable.ulm
};
@Override
public int getItemPosition(Object object) {
// TODO Auto-generated method stub
return POSITION_NONE;
}
@Override
public int getCount() {
return mImages.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
Context context = MainActivity.this;
Log.d("position","position" +position);
ImageView imageView = new ImageView(context);
int padding = context.getResources().getDimensionPixelSize(
R.dimen.padding_medium);
imageView.setPadding(padding, padding, padding, padding);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageResource(mImages[position]);
((ViewPager) container).addView(imageView, 0);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// viewPager.getAdapter().notifyDataSetChanged();
((ViewPager) container).removeView((ImageView) object);
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
}
このコードで、私は画像の左右side.iをスライド位置の増分と左側のスライド画像デクリメントposition.pleaseが私を助けたときに右側のスライド画像を必要とします。 ありがとうございます。
は、なぜあなたは位置0で 'ImageView'を追加します。このコードで問題を解決する必要がありますか? – Luksprog