package me.qixingchen.mdbilibili.ui.adapter; import android.graphics.Bitmap; import android.support.v4.view.PagerAdapter; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable; /** * Created by Yulan on 2015/8/1. */ public class TopicAdapter extends PagerAdapter { private ImageView[] mImageViews; public TopicAdapter(ImageView[] mImageViews) { this.mImageViews = mImageViews; } @Override public int getCount() { return mImageViews.length; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public void destroyItem(ViewGroup container, int position, Object object) { if (object instanceof ImageView) { container.removeView((View) object); } else { container.removeView(mImageViews[position]); } } @Override public Object instantiateItem(ViewGroup container, int position) { try { container.addView(mImageViews[position]); } catch (Exception ignore) { ImageView imageCopy = new ImageView(container.getContext()); Bitmap copy = ((GlideBitmapDrawable) mImageViews[position].getDrawable()).getBitmap(); imageCopy.setImageBitmap(copy.copy(copy.getConfig(), false)); container.addView(imageCopy); return imageCopy; } return mImageViews[position]; } }