BaseAdapter

抽象类,继承它,必须实现它的方法,我们可以自定义需要的适配器。

 

系统绘制adpaterview的时候,先调用getcount取得数据的长度,然后调用getview方法根据这个长度开始绘制每一行,就是说如果getcount返回100就显示100行,绘制100次,这势必很大的消耗资源。所以我们得有优化方案。

ViewCode 
@Override 
publicViewgetView(intposition,ViewconvertView,ViewGroupparent) 
{ 
Viewview=convertView; 
ViewHolderholder; 
if(view==null){ 
view=LayoutInflater.from(context).inflate(R.layout.section_list_item1,null); 
holder=newViewHolder(); 
holder.tv_name=(TextView)view.findViewById(R.id.contact_contactinfoitem_tv_name); 
holder.tv_phone=(TextView)view.findViewById(R.id.contact_contactinfoitem_tv_phoneNum); 
view.setTag(holder); 
} 
else 
{ 
holder=(ViewHolder)view.getTag(); 
} 
ContactInfo1confo=contacts.get(position); 
Log.i("my","confo"+confo.getContactName()); 
if(confo!=null){//toseteveryitem'stext 

holder.tv_name.setText(confo.getContactName()); 
holder.tv_phone.setText(confo.getContact_Phone()); 
} 
returnview; 
} 
static class ViewHolder 
{ 
TextViewtv_name,tv_phone; 
} 

 

你可能感兴趣的:(BaseAdapter)