安卓开发之listView优化篇

来源:互联网 发布:c语言程序运行闪退 编辑:程序博客网 时间:2024/06/06 11:36

1.复用ConvertView:

2.ViewHolder重用组件

标准模板写法转自菜鸟教程一位安卓开发者的博客
@Overridepublic View getView(int position, View convertView, ViewGroup parent) {    ViewHolder holder = null;    if(convertView == null){        convertView = LayoutInflater.from(mContext).inflate(R.layout.item_list_animal,parent,false);        holder = new ViewHolder();        holder.img_icon = (ImageView) convertView.findViewById(R.id.img_icon);        holder.txt_aName = (TextView) convertView.findViewById(R.id.txt_aName);        holder.txt_aSpeak = (TextView) convertView.findViewById(R.id.txt_aSpeak);        convertView.setTag(holder);   //将Holder存储到convertView中    }else{        holder = (ViewHolder) convertView.getTag();    }    holder.img_icon.setBackgroundResource(mData.get(position).getaIcon());    holder.txt_aName.setText(mData.get(position).getaName());    holder.txt_aSpeak.setText(mData.get(position).getaSpeak());    return convertView;}//内部类static class ViewHolder{    ImageView img_icon;    TextView txt_aName;    TextView txt_aSpeak;}