package com.mm.android.deviceaddmodule.mobilecommon.base.adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import com.mm.android.deviceaddmodule.mobilecommon.common.ViewHolder; import java.util.List; /** *

* 适配器的基类 *

*/ public abstract class CommonAdapter extends BaseAdapter { protected List list; protected int layout; protected Context mContext; private int firstPosition;// 从头部插入的位置 public CommonAdapter(int layout, List list, Context mContext) { this.list = list; this.layout = layout; this.mContext = mContext; notifyDataSetChanged(); } @Override public int getCount() { return list.size(); } @Override public T getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } public void addFirstData(List list) { this.list.addAll(firstPosition, list); firstPosition = firstPosition + list.size(); } public void addData(List list) { if (list != null) { this.list.addAll(list); } } public void removeData(List list) { this.list.removeAll(list); } public void clearData() { this.list.clear(); firstPosition = 0; } public List getData() { return list; } public void replaceData(List list2) { if (list2 != list) { clearData(); addData(list2); } } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = ViewHolder.getViewHolder(layout, convertView, mContext, parent); convert(viewHolder, getItem(position), position, parent); return viewHolder.getView(); } public abstract void convert(ViewHolder viewHolder, T item, int position, ViewGroup parent); }