package com.niw.adv.adapter;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.adv.activity.R;
import com.niw.adv.object.CatalogObj;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
public class CatalogAdapter extends ArrayAdapter<CatalogObj> {
private ImageLoader imageLoader;
public CatalogAdapter(Context context, int resource,
List<CatalogObj> objects) {
super(context, resource, objects);
mContext = context;
rowID = resource;
list = objects;
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
imageLoader = ImageLoader.getInstance();
imageLoader.init(ImageLoaderConfiguration.createDefault(mContext));
}
private Context mContext;
private int rowID;
private List<CatalogObj> list;
private LayoutInflater inflater;
@Override
public CatalogObj getItem(int position) {
return list.get(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = (LinearLayout) inflater.inflate(rowID, null);
}
// set value to item
CatalogObj obj = (CatalogObj) getItem(position);
TextView title = (TextView) convertView.findViewById(R.id.base_title);
title.setText(obj.getName());
ImageView icon = (ImageView) convertView.findViewById(R.id.base_icon);
DisplayImageOptions options = new DisplayImageOptions.Builder()
.cacheInMemory(true).cacheOnDisc(true)
// option to round image
.displayer(new RoundedBitmapDisplayer(20))
.imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2).build();
TextView records = (TextView) convertView.findViewById(R.id.base_item_records);
records.setText(Integer.toString(obj.getRecords()));
imageLoader.displayImage(obj.getIcon(), icon, options);
return convertView;
}
}