import java.util.ArrayList; import java.util.List; import java.util.Map; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.LinearLayout; public abstract class BaseHolderAdapter extends BaseAdapter{ LayoutInflater mInfalter; Context mContext; List<Map<String,Object>> mDatas; int mLayoutID; public BaseHolderAdapter(Context aContext,int layoutID){ mContext = aContext; mLayoutID = layoutID; mInfalter = LayoutInflater.from(aContext); mDatas = new ArrayList<Map<String,Object>>(); } public void setData(List<Map<String,Object>> list,boolean isRel){ if (list == null) return; if( isRel ){ mDatas = list; }else{ mDatas.addAll(list); } notifyDataSetChanged(); } public void cleanDatas(){ mDatas.clear(); } @Override public int getCount() { return mDatas.size(); } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { Item item = null; if( convertView == null ){ item = new Item(mContext); }else{ item = (Item) convertView; } itemViewSetData(item,position); return item; } abstract void itemInit(View view); abstract void itemViewSetData(View view,int position); class Item extends LinearLayout{ public Item(Context context) { super(context); mInfalter.inflate(mLayoutID, this); itemInit(this); } } }
網(wǎng)頁(yè)標(biāo)題:比較好的BaseAdapter,holder模式
新聞來(lái)源:http://aaarwkj.com/article42/jeeihc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、微信公眾號(hào)、網(wǎng)站收錄、營(yíng)銷型網(wǎng)站建設(shè)、建站公司、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)