您的位置:首页 > 其它

BaseAdapter

2016-05-06 15:29 351 查看
getCount(): 适配器中的数据集中数据的个数

getIntem(int position)获取数据集中与指定索引对应的数据项

getItenId(int position)获取指定行对应的ID

getView(int position,View convertView,ViewGroup parent):获取每一个item的显示内容

——-逗比模式

View view = mInflater.inflate(R.layout.item,null);

ImageView imageView = (...)findViewById(...);

imageView.setImageResource(...);

return view;


———普通模式

if(concertView == null){

convertView = mInflater.inflate(R.layout.item,null);

}

ImageView imageView =convertView. (...)findViewById(...);

imageView.setImageResource(...);

return convertView;


————————文艺(优化模式)

ViewHolder viewHolder;

if(converView == null){

viewHolder = new ViewHolder();

converView = mInflater.inflate(R.layout.item,null);

viewHolder.imageView = converView. (...)findViewById(...);

converVIew.setTag(viewHolder);

}else{

viewHolder = (viewHolder) convertView.getTag();

}

viewHolder.imageView.setImageResource(...);

return converView;

class ViewHolder{

public ImageView iamgeView;

}


三种不同的创建方法,原理差不多,重点内容

1:

View contentView = View.inflate(getApplicationContext(),

R.layout.popup_app_item, null);


2:

View view = null;
ViewHolder holder;
if (convertView == null) {

LayoutInflater inflater = getLayoutInflater();
view = inflater.inflate(R.layout.listview_item, null);
//                view = View.inflate(getApplicationContext(),
//                        R.layout.list_item_callsms, null);
holder.tv_name = (TextView) view.findViewById(R.id.tv_app_name);
view.setTag(holder);
}else{
view =  convertView;
holder = (ViewHolder) view.getTag();
}


3:

private LayoutInflater Inflater;
Inflater = LayoutInflater.from(context);
if (convertView == null) {
convertView = Inflater.inflate(R.layout.item, null);
holder = new Hoder(convertView);
convertView.setTag(holder);
} else {
holder = (Hoder) convertView.getTag();
}


-————–ViewHolder优化baseAdapter思路

1,创建bean对象,用于封装数据

2,在构造方法中初始化用于映射的数据List

3,创建ViewHolder类,创建布局映射关系

4,判断convertView,为空则创建,。并设置tag.否则通过Tag来取出ViewHolder

5,给ViewHolder中的控件设置数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: