public class StoreBookListAdapter extends BaseAdapter{
private List books;
private LayoutInflater inflater;
private RequestQueue mQueue;
private ImageLoader loader;
public StoreBookListAdapter(Context context,
List<Book> reCommendBooks) {
this.mQueue = MyApplication.geRequestQueue();
this.loader = new ImageLoader(mQueue, new BitmapCache());
Log.i("info", "loader="+loader.toString());
this.books = reCommendBooks;
this.inflater = LayoutInflater.from(context);
}
public class BitmapCache implements ImageCache {
private LruCache<String, Bitmap> mCache;
public BitmapCache() {
int maxSize = 10 * 1024 * 1024;
mCache = new LruCache<String, Bitmap>(maxSize) {
@Override
protected int sizeOf(String key, Bitmap bitmap) {
return bitmap.getRowBytes() * bitmap.getHeight();
}
};
}
@Override
public Bitmap getBitmap(String url) {
return mCache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
mCache.put(url, bitmap);
}
}
@Override
public int getCount() {
return books.size();
}
@Override
public Book getItem(int position) {
return books.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView==null) {
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.item_store_gv_book,null);
holder.iamgeView = (ImageView) convertView.findViewById(R.id.imageView);
holder.textView = (TextView) convertView.findViewById(R.id.textView);
convertView.setTag(holder);
}
holder = (ViewHolder) convertView.getTag();
Book book = getItem(position);
holder.textView.setText(book.getProductName());
//批量下载
ImageListener listener = ImageLoader.getImageListener(holder.iamgeView, R.drawable.ic_launcher, R.drawable.ic_launcher);
loader.get(book.getProduct_pic(), listener);
return convertView;
}
class ViewHolder {
ImageView iamgeView;
TextView textView;
}![图片说明](https://img-ask.csdn.net/upload/201607/23/1469242280_999062.png)
![图片说明](https://img-ask.csdn.net/upload/201607/23/1469242291_816035.png)