Listview的优化:
1.重用convertView
2.编写ViewHolder内部类
public View getView(int i, View convertView, ViewGroup viewGroup) {
ViewHolder viewHolder = null;
View view;
if(convertView==null)
{
viewHolder = new ViewHolder();
view = View.inflate(mContext,R.layout.item_list,null);
viewHolder.mImageView = (ImageView) view.findViewById(R.id.id_iv);
viewHolder.mTextViewDes = (TextView) view.findViewById(R.id.id_tv_description);
viewHolder.getmTextViewPrice = (TextView) view.findViewById(R.id.id_tv_price);
view.setTag(viewHolder);
}else{
view = convertView;
viewHolder = (ViewHolder) view.getTag();
}
viewHolder.mImageView.setImageResource(mList.get(i).image);
viewHolder.mTextViewDes.setText(mList.get(i).des);
viewHolder.getmTextViewPrice.setText(mList.get(i).price);
return view;
}
class ViewHolder{
public ImageView mImageView;
public TextView mTextViewDes;
public TextView getmTextViewPrice;
}
这样是listview华东起来更流畅,效果图如下: