package de.tudarmstadt.informatik.hostage.ui2.adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; import java.util.ArrayList; import java.util.List; import de.tudarmstadt.informatik.hostage.R; import de.tudarmstadt.informatik.hostage.ui2.model.PlotComparisonItem; /** * Created by Julien on 22.02.14. */ public class StatisticListAdapter extends ArrayAdapter { private class ViewHolder { public TextView titleView; public TextView valueView; public TextView colorView; } private final Context context; private List values; public StatisticListAdapter(Context context, List objects) { super(context, getLayoutID(), objects); List list = objects == null ? new ArrayList() : objects; this.context = context; this.values = list; } public void setValues(List list){ this.values = list; } @Override public View getView(final int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View rowView = convertView; ViewHolder holder = null; final PlotComparisonItem item = values.get(position); if(rowView == null){ rowView = inflater.inflate(getLayoutID() , parent, false); holder = new ViewHolder(); holder.titleView = (TextView) rowView.findViewById(R.id.title_text_view); holder.valueView = (TextView) rowView.findViewById(R.id.value_text_view); holder.colorView = (TextView) rowView.findViewById(R.id.color_view); rowView.setTag(holder); } else { holder = (ViewHolder) rowView.getTag(); } this.configureView(holder, item); return rowView; } static public int getLayoutID(){ return R.layout.plot_list_item; } private void configureView(ViewHolder holder, PlotComparisonItem item){ holder.colorView.setBackgroundColor(item.getColor()); holder.titleView.setText(item.getTitle()); holder.valueView.setText("" + item.getValue2()); } }