package com.pinecone.technology.mcommerce.learning.android.chapter09.simpleadapter; 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.TextView; public class MySimpleArrayAdapter extends ArrayAdapter<Model> { private final Context context; private final List<Model> values; private int color; public MySimpleArrayAdapter(Context context, List<Model> values) { super(context, R.layout.rowlayout, values); this.context = context; this.values = values; color = context.getResources().getColor( android.R.color.holo_blue_bright); } @Override public int getViewTypeCount() { return 2; } @Override public int getItemViewType(int position) { return position % 2; } public static class ViewHolder { public TextView t; public ImageView i; } @Override public View getView(int position, View convertView, ViewGroup parent) { View rowView = null; if (convertView != null) { rowView = convertView; } else { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); rowView = inflater.inflate(R.layout.rowlayout, parent, false); TextView textView = (TextView) rowView.findViewById(R.id.label); ImageView imageView = (ImageView) rowView.findViewById(R.id.icon); ViewHolder holder = new ViewHolder(); holder.t = textView; holder.i = imageView; rowView.setTag(holder); } ViewHolder tag = (ViewHolder) rowView.getTag(); tag.t.setText(values.get(position).getName().toUpperCase() + " Android rules"); // Change the icon for Windows and iPhone if (values.get(position).isSelected()) { tag.i.setImageResource(R.drawable.ok); } else { tag.i.setImageResource(R.drawable.no); } rowView.setBackgroundColor(color); return rowView; } }