封裝自己的Listview適配器

public abstract class MyBaseAdapter extends BaseAdapter {? ?

?public Listdate;? ??

protected Context mContext;? ?

?private LayoutInflater mInflater;? ?

?protected String type;? ?

?public MyBaseAdapter(Context mContext,Listdate,String type) {? ? ? ?

?super();? ? ? ?

?this.mContext = mContext;? ? ? ?

?this.date = date;? ? ? ??

this.type = type;? ? ? ??

mInflater = LayoutInflater.from(mContext);? ? }? ??

@Override? ?

?public int getCount() {? ? ? ?

?return date == null ? 0 : date.size();? ? }? ?

?@Override? ??

public T getItem(int position) {? ? ??

? if (position < date.size()){? ? ? ? ? ? return date.get(position);? ? ? ? }? ? ?

?? return null;??

? }? ??

@Override? ?

?public long getItemId(int position) {? ? ? ? return position;? ? }? ?

?@Override??

?public View getView(int position, View convertView, ViewGroup parent) {? ? ??

? return createView(position, convertView, parent, mInflater);? ? }? ??

public abstract View createView(int position, View convertView, ViewGroup parent, LayoutInflater inflater);??

? /**? ? * 添加更多數據? ? * @param data? ? */? ??

public void addMore(Listdata) {? ? ?

?? this.date.addAll(data);? ? ?

?? this.notifyDataSetChanged();??

? }??

? /**? ? * 更新數據? ? *? ? * @param data? ? */? ?

?public void changeData(Listdata) {

this.date = data;

this.notifyDataSetChanged();

}

/**

* 是否包含目標元素

* @param t

* @return

*/

public boolean hasContent(T t) {

return date.contains(t);

}

/**

* 刪除指定元素

* @param t

* @return

*/

public boolean remove(T t) {

boolean remove = date.remove(t);

if (remove) {

this.notifyDataSetChanged();

}

return remove;

}

/**

* 清空adapter

*/

public void clear() {

if (date == null) {

return;

}

date.clear();

this.notifyDataSetChanged();

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容