1.使用 convertView 回收视图, 效率提高
public
View getView(
int
position, View convertView, ViewGroup parent) {
if
(convertView ==
null
) {
convertView = mInflater.inflate(R.layout.item,
null
);
}
((TextView) convertView.findViewById(R.id.text)).setText(DATA[position]);
((ImageView) convertView.findViewById(R.id.icon)).setImageBitmap(
(position &
1
) ==
1
? mIcon1 : mIcon2);
return
convertView;
}
2.使用 ViewHolder 模式, 效率再提高
class
ViewHolder {
TextView text;
ImageView icon;
}
public
View getView(
int
pos, View convertView, ViewGroup parent){
ViewHolder holder;
if
(convertView == null) {
convertView = mInflater.inflate(R.layout.list_item, null);
holder =
new
ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.text));
holder.icon = (ImageView) convertView.findViewButId(R.id.icon));
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.text.setText(DATA[pos]);
holder.icon.setImageBitmap((pos & 1) == 1 ? mIcon1 : mIcon2);
return
convertView;
}