Android UI开发第三十六篇

,那么Volley是怎么加载图片列表的呢,这一篇文章会介绍使用Volley加载图片列表。

使用ImageView:

public class VolleyImageViewListAdapter extends BaseAdapter{private static final String TAG = "VolleyListAdapter";private Context mContext;private String[] urlArrays;private ImageLoader mImageLoader;public VolleyImageViewListAdapter(Context context, String []url) {this.mContext = context;urlArrays = url;RequestQueue mQueue = Volley.newRequestQueue(context);mImageLoader = new ImageLoader(mQueue, new BitmapCache()); }@Overridepublic int getCount() {return urlArrays.length;}@Overridepublic Object getItem(int position) {return position;}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder viewHolder = null;if (convertView == null) {convertView = LayoutInflater.from(mContext).inflate(R.layout.volley_image_list_item, null);viewHolder = new ViewHolder();viewHolder.mTextView = (TextView) convertView.findViewById(R.id.tv_tips);viewHolder.mImageView = (ImageView) convertView.findViewById(R.id.iv_image);convertView.setTag(viewHolder);} else {viewHolder = (ViewHolder) convertView.getTag();}String url = "";url = urlArrays[position % urlArrays.length];viewHolder.mTextView.setText(position+"|"+urlArrays.length) ;ImageListener listener = ImageLoader.getImageListener(viewHolder.mImageView, android.R.drawable.ic_menu_rotate, android.R.drawable.ic_delete);mImageLoader.get(url, listener);return convertView;}static class ViewHolder {TextView mTextView;ImageView mImageView;}public class BitmapCache implements ImageCache {private LruCache<String, Bitmap> mCache;public BitmapCache() {int maxSize = 10 * 1024 * 1024;mCache = new LruCache<String, Bitmap>(maxSize) {@Overrideprotected int sizeOf(String key, Bitmap value) {return value.getRowBytes() * value.getHeight();}};}@Overridepublic Bitmap getBitmap(String url) {return mCache.get(url);}@Overridepublic void putBitmap(String url, Bitmap bitmap) {mCache.put(url, bitmap);}} }使用NetworkImageView:public class VolleyListAdapter extends BaseAdapter{private static final String TAG = "VolleyListAdapter";private Context mContext;private String[] urlArrays;public VolleyListAdapter(Context context, String []url) {this.mContext = context;urlArrays = url;}@Overridepublic int getCount() {return urlArrays.length;}@Overridepublic Object getItem(int position) {return position;}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder viewHolder = null;if (convertView == null) {convertView = LayoutInflater.from(mContext).inflate(R.layout.volley_list_item, null);viewHolder = new ViewHolder();viewHolder.mTextView = (TextView) convertView.findViewById(R.id.tv_tips);viewHolder.mImageView = (NetworkImageView) convertView.findViewById(R.id.iv_image);convertView.setTag(viewHolder);} else {viewHolder = (ViewHolder) convertView.getTag();}String url = "";url = urlArrays[position % urlArrays.length];viewHolder.mTextView.setText(position+"|"+urlArrays.length) ;viewHolder.mImageView.setImageUrl(url, ImageCacheManager.getInstance().getImageLoader());return convertView;}static class ViewHolder {TextView mTextView;NetworkImageView mImageView;}}效果图:

,会得到最大的满足,因为它填补了你的空虚。

Android UI开发第三十六篇

相关文章:

你感兴趣的文章:

标签云: