80,362
社区成员
发帖
与我相关
我的任务
分享
public class ViewPagerAdapter extends PagerAdapter {
private List<View> mListViews;
private List<Map<String, Object>> mGoodsList;
private LayoutInflater mInflater;
private ImageFetcher mImageFetcher;
private MainActivity mContext;
public ViewPagerAdapter(Context context, List<Map<String, Object>> goodsList) {
mGoodsList = goodsList;
mListViews = new ArrayList<View>();
mContext = (MainActivity) context;
mInflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Application app = mContext.getApplication();
mImageFetcher = app.getImageFetcher();
for (int i = 0; i < goodsList.size(); i++) {
View v = mInflater.inflate(R.layout.top_view_page_item, null);
mListViews.add(v);
}
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(mListViews.get(position));// 删除页卡
}
@Override
public Object instantiateItem(ViewGroup container, int position) { // 这个方法用来实例化页卡
Log.d("ViewPager", "instantiateItem");
ImageView image = (ImageView) mListViews.get(position).findViewById(
R.id.iv_top_view_page_image);
mImageFetcher.setLoadingImage(R.drawable.cart);
mImageFetcher.loadImage(
String.valueOf(mGoodsList.get(position).get("image")), image);
container.addView(mListViews.get(position), 0);// 添加页卡
return mListViews.get(position);
}
@Override
public int getCount() {
Log.i("mGoodsList.size()", String.valueOf(mGoodsList.size()));
return mGoodsList.size();// 返回页卡的数量
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == (arg1);// 官方提示这样写
}
@Override
public void startUpdate(View v) {
}
@Override
public void finishUpdate(View v) {
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
}
@Override
public Parcelable saveState() {
return null;
}
}
mGoodsListAdapter = new ViewPagerAdapter(
TopFragment.this.getActivity(), mGoodsList);//mGoodsList中包含需要显示的图片的链接
mGoodsViewPager.setAdapter(mGoodsListAdapter);