成都创新互联网站制作重庆分公司

比较好的BaseAdapter,holder模式-创新互联


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> mDatas;
	int mLayoutID;
	
	public BaseHolderAdapter(Context aContext,int layoutID){
		mContext = aContext;
		mLayoutID = layoutID;
		mInfalter = LayoutInflater.from(aContext);
		mDatas = new ArrayList>();
		
	}
	
	public void setData(List> 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);
		}
	}
}

成都网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设公司、微信开发、小程序开发、集团企业网站建设等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都三维植被网等众多领域,积累了大量丰富的经验,同时也获得了客户的一致称扬!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻名称:比较好的BaseAdapter,holder模式-创新互联
网站网址:http://cxhlcq.com/article/dgeieg.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部