比较好的BaseAdapter,holder模式
importjava.util.ArrayList;importjava.util.List;importjava.util.Map;importandroid.content.Context;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.BaseAdapter;importandroid.widget.LinearLayout;publicabstractclassBaseHolderAdapterextendsBaseAdapter{LayoutInflatermInfalter;ContextmContext;List<Map<String,Object>>mDatas;intmLayoutID;publicBaseHolderAdapter(ContextaContext,intlayoutID){mContext=aContext;mLayoutID=layoutID;mInfalter=LayoutInflater.from(aContext);mDatas=newArrayList<Map<String,Object>>();}publicvoidsetData(List<Map<String,Object>>list,booleanisRel){if(list==null)return;if(isRel){mDatas=list;}else{mDatas.addAll(list);}notifyDataSetChanged();}publicvoidcleanDatas(){mDatas.clear();}@OverridepublicintgetCount(){returnmDatas.size();}@OverridepublicObjectgetItem(intposition){returnposition;}@OverridepubliclonggetItemId(intposition){returnposition;}@OverridepublicViewgetView(intposition,ViewconvertView,ViewGroupparent){Itemitem=null;if(convertView==null){item=newItem(mContext);}else{item=(Item)convertView;}itemViewSetData(item,position);returnitem;}abstractvoiditemInit(Viewview);abstractvoiditemViewSetData(Viewview,intposition);classItemextendsLinearLayout{publicItem(Contextcontext){super(context);mInfalter.inflate(mLayoutID,this);itemInit(this);}}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。