public class MyViewPagerAdapter extends PagerAdapter {
private Context mContext;
private ArrayList<ImageView> mImageViews = new ArrayList<ImageView>();
public MyViewPagerAdapter(Context mContext, ArrayList<String> mImageUrls) {
this.mContext = mContext;
initPagerView(mImageUrls);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void destroyItem(View container, int position, Object object) {
// 实现左右循环时不能销毁
// ((ViewPager) container).removeView(mImageViews.get(position %
// mImageViews.size()));
}
@Override
public Object instantiateItem(View container, int position) {
// 实现左右循环时添加捕获异常
try {
((ViewPager) container).addView(mImageViews.get(position % mImageViews.size()), 0);
} catch (Exception e) {
}
return mImageViews.get(position % mImageViews.size());
}
private void initPagerView(ArrayList<String> mImageUrls) {
for (int i = 0; i < mImageUrls.size(); i++) {
ImageView imageView = new ImageView(mContext);
TupoApplication.finalBitmap.display(imageView, mImageUrls.get(i),
BitmapUtils.getIconDisplayConfig());
mImageViews.add(imageView);
}
}
private Context mContext;
private ArrayList<ImageView> mImageViews = new ArrayList<ImageView>();
public MyViewPagerAdapter(Context mContext, ArrayList<String> mImageUrls) {
this.mContext = mContext;
initPagerView(mImageUrls);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void destroyItem(View container, int position, Object object) {
// 实现左右循环时不能销毁
// ((ViewPager) container).removeView(mImageViews.get(position %
// mImageViews.size()));
}
@Override
public Object instantiateItem(View container, int position) {
// 实现左右循环时添加捕获异常
try {
((ViewPager) container).addView(mImageViews.get(position % mImageViews.size()), 0);
} catch (Exception e) {
}
return mImageViews.get(position % mImageViews.size());
}
private void initPagerView(ArrayList<String> mImageUrls) {
for (int i = 0; i < mImageUrls.size(); i++) {
ImageView imageView = new ImageView(mContext);
TupoApplication.finalBitmap.display(imageView, mImageUrls.get(i),
BitmapUtils.getIconDisplayConfig());
mImageViews.add(imageView);
}
}
}
使用:
ViewPager viewPager = new ViewPager(context);
viewPager.setAdapter(new MyViewPagerAdapter(context, imageUrls));
// 实现向左滑动
viewPager.setCurrentItem(imageUrls.size() * 100);