package de.itemis.base; import java.util.List; import de.itemis.itemisapp.R; import android.app.ListActivity; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; public class GenericItemAdapter extends ArrayAdapter<AbstractRowAdapter>{ private final ListActivity listActivity; @SuppressWarnings("unchecked") public GenericItemAdapter(ListActivity listActivity, List<? extends AbstractRowAdapter> items) { // can given layout and widget id be omitted? won't be used anyway super(listActivity, R.layout.list_item_image, R.id.text, (List<AbstractRowAdapter>) items); this.listActivity = listActivity; } @Override public View getView(int position, View convertView, ViewGroup parent) { AbstractRowAdapter item = getItem(position); if (convertView == null) { convertView = item.createView(listActivity); convertView.setTag(item); } item.populateRowView(convertView, listActivity); return convertView; } }