封裝自己的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);??

? /**? ? * 添加更多數(shù)據(jù)? ? * @param data? ? */? ??

public void addMore(Listdata) {? ? ?

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

?? this.notifyDataSetChanged();??

? }??

? /**? ? * 更新數(shù)據(jù)? ? *? ? * @param data? ? */? ?

?public void changeData(Listdata) {

this.date = data;

this.notifyDataSetChanged();

}

/**

* 是否包含目標(biāo)元素

* @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();

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容