//holder.img.setBackgroundResource((Integer)mData.get(position).get("img")); holder.name.setText((String)mData.get(position).get("name")); holder.phonenumber.setText((String)mData.get(position).get("phonenumber")); } private final class ViewHolder{ public TextView name; public TextView phonenumber; public CheckBox chkSelect; }
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder=new ViewHolder();
convertView = mInflater.inflate(R.layout.listmulti, null);
holder.name = (TextView)convertView.findViewById(R.id.txtperson);
holder.phonenumber = (TextView)convertView.findViewById(R.id.txtNumber);
holder.chkSelect = (CheckBox)convertView.findViewById(R.id.chkbox); convertView.setTag(holder);
}else {
holder = (ViewHolder)convertView.getTag();
}
//holder.img.setBackgroundResource((Integer)mData.get(position).get("img"));
holder.name.setText((String)mData.get(position).get("name"));
holder.phonenumber.setText((String)mData.get(position).get("phonenumber"));
}
private final class ViewHolder{
public TextView name;
public TextView phonenumber;
public CheckBox chkSelect;
}
http://topic.csdn.net/u/20120309/16/fe232569-1fb9-4262-a9c5-2ec156f555e6.html
1)复用view,不要每次new 新的view。
2)使getview里面的逻辑尽量简单,不要在里面每次都new对象。
3)不要用太复杂的布局,如果布局复杂的话,会影响效率(为会会创建view层次),此时,就直接写一个view,直接从view继承,界面完全自绘制。(这种效率是最高的,控制要复杂一点)