Mon logcat en impression première fois prendre la position 0 après avoir répété cette méthode et prendre la position 1, je n'ai pas besoin de repeter cette méthode.Comment pas de répétition de l'objet instantiateItem() dans PagerAdapter dans android
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;
}
Ce code diapositive d'image fonctionne avec succès, mais glisser l'image première et la dernière impression erronée de la position dans logcat.please me aider. merci.
Edit:
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();
}
}
Ce code en position d'impression incorrect dans logcat quand je glisser vers la droite de l'image et side.i gauche ont besoin slide image côté droit lorsque incrément de position et de l'image de diapositive côté gauche décrément position.please me aider . Merci.
Pourquoi vous ajoutez le 'ImageView' à la position 0? – Luksprog