package net.robotmedia.acv.adapter;
import java.util.ArrayList;
import net.androidcomics.acv.R;
import android.content.Context;
import android.view.*;
import android.widget.BaseAdapter;
import android.widget.TextView;
public abstract class ACVListAdapter<T> extends BaseAdapter {
Context context;
protected ArrayList<T> contents;
protected int rowResId;
public ACVListAdapter(Context context, int rowResId) {
this.context = context;
this.rowResId = rowResId;
contents = new ArrayList<T>();
}
public abstract void refresh();
@Override
public int getCount() {
return contents.size();
}
@Override
public T getItem(int position) {
return contents.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public abstract View getView(int position, View convertView, ViewGroup parent);
protected View makeRow() {
if(rowResId <= 0) {
TextView tv = new TextView(context);
tv.setId(R.id.text);
return tv;
} else {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(rowResId, null);
return v;
}
}
}