package com.bigfat.listviewtest; 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.TextView; import java.util.List; /** * @author <a href="mailto:fbzhh007@gmail.com">bigfat</a> * @since 2014/12/6 */ public class FruitAdapter extends ArrayAdapter<Fruit> { private int resourceId; public FruitAdapter(Context context, int textViewResourceId, List<Fruit> objects) { super(context, textViewResourceId, objects); resourceId = textViewResourceId; } @Override public View getView(int position, View convertView, ViewGroup parent) { Fruit fruit = getItem(position); ViewHolder holder; if (convertView == null) { holder = new ViewHolder(); convertView = LayoutInflater.from(getContext()).inflate(resourceId, null); holder.fruitImage = (ImageView) convertView.findViewById(R.id.fruit_image); holder.fruitName = (TextView) convertView.findViewById(R.id.fruit_name); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.fruitImage.setImageResource(fruit.getImageId()); holder.fruitName.setText(fruit.getName()); return convertView; } private final class ViewHolder { ImageView fruitImage; TextView fruitName; } }