ListView的优化
只需在getView里面的convertView及用viewholder来储存findviewbyid的数据做即可,代码如下:
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = new ViewHolder();
Bean bean = mList.get(position);
if(convertView==null){
convertView = View.inflate(mContext, R.layout.simpleadapter, null);
viewHolder.icon_iv = (ImageView) convertView.findViewById(R.id.icons);
viewHolder.name_tv = (TextView) convertView.findViewById(R.id.title);
viewHolder.desc_tv = (TextView) convertView.findViewById(R.id.content);
convertView.setTag(viewHolder);
}
else{
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.icon_iv.setImageResource(bean.getIcon());
viewHolder.name_tv.setText(bean.getName());
viewHolder.desc_tv.setText(bean.getDesc());
return convertView;
}
class ViewHolder{
ImageView icon_iv;
TextView name_tv;
TextView desc_tv;
}