package net.coding.program.common.widget; import android.widget.BaseAdapter; import net.coding.program.model.DynamicObject; import java.util.ArrayList; /** * Created by chenchao on 15/5/29. * 其实和 ArrayAdapter 差不多 */ public abstract class DataAdapter<T> extends BaseAdapter { private ArrayList<T> mData; public DataAdapter(ArrayList<T> mData) { this.mData = mData; } public DataAdapter() { mData = new ArrayList<>(); } public void insertDataUpdate(ArrayList<T> data) { mData.addAll(0, data); notifyDataSetChanged(); } public void appendDataUpdate(ArrayList<T> data) { mData.addAll(data); notifyDataSetChanged(); } public void clearData() { mData.clear(); } public void removeDataUpdate(T item) { mData.remove(item); notifyDataSetChanged(); } public void appendData(T data) { mData.add(data); } public void insertData(int positionn, T data) { mData.add(positionn, data); } public void appendSingeDataUpdate(T data) { mData.add(data); notifyDataSetChanged(); } public void resetData(ArrayList<T> data) { mData = data; notifyDataSetChanged(); } public void setData(ArrayList<T> data) { mData = data; } @Override public int getCount() { return mData.size(); } @Override public Object getItem(int position) { return mData.get(position); } @Override public long getItemId(int position) { return position; } }