抽象类,继承它,必须实现它的方法,我们可以自定义需要的适配器。
系统绘制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; }