Skip to content

Instantly share code, notes, and snippets.

@gnuton
Last active December 18, 2015 16:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gnuton/5809274 to your computer and use it in GitHub Desktop.
Save gnuton/5809274 to your computer and use it in GitHub Desktop.
Image adapter for viewPager. It works with mViewPager.setOffscreenPageLimit(1);
/**
*
* Created by gnuton on 6/18/13.
*/
public class ImageAdapter extends PagerAdapter {
Context mContext;
public List<Drawable> mImages = new ArrayList<Drawable>();
private List<ImageView> mImageViews = new ArrayList<ImageView>();
public ImageAdapter(Context context){
this.mContext=context;
while (mImageViews.size() < 4) {
ImageView imageView = new ImageView(mContext);
imageView.setBackgroundColor(Color.parseColor("#000000"));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
this.mImageViews.add(imageView);
}
}
@Override
public int getCount() {
return mImages.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = mImageViews.get(position % 3);
imageView.setImageDrawable(mImages.get(position));
((ViewPager) container).addView(imageView, 0);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
ImageView imageView = (ImageView) object;
((ViewPager) container).removeView(imageView);
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment