package com.grumoon.volleydemo.adapter; import android.content.Context; import android.widget.ImageView; import com.android.volley.toolbox.ImageLoader; import com.android.volley.toolbox.ImageLoader.ImageContainer; import com.android.volley.toolbox.ImageLoader.ImageListener; import com.grumoon.volleydemo.R; import com.grumoon.volleydemo.util.LruImageCache; import com.grumoon.volleydemo.util.StringUtil; import com.grumoon.volleydemo.util.VolleyUtil; public class ImageLoaderAdapter extends ImageBaseAdapter{ private ImageLoader imageLoader; public ImageLoaderAdapter(Context context, String[] imageUrlArray) { super(context, imageUrlArray); this.imageLoader=new ImageLoader(VolleyUtil.getQueue(context), new LruImageCache()); } @Override int getItemLayout() { return R.layout.fr_image_request_list_item; } @Override void setImage(ImageView imageView, String imageUrl) { ImageContainer container; try { //如果当前ImageView上存在请求,先取消 if(imageView.getTag()!=null) { container=(ImageContainer)imageView.getTag(); container.cancelRequest(); } } catch (Exception e) { } ImageListener listener=ImageLoader.getImageListener(imageView, R.drawable.ic_empty, R.drawable.ic_empty); container= imageLoader.get(StringUtil.preUrl(imageUrl),listener); //在ImageView上存储当前请求的Container,用于取消请求 imageView.setTag(container); } }