Adapter的作用是ListView界面与数据之间的交互接口。
我们经常遇到ListView里面添加数据量大时内存溢出的问题。 以下通过改写getView方法实现优化显示。一定程度上解决数据量大的问题,使Adapter的性能得到很大的优化和提升。
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
convertView = XXXActivity.this.getLayoutInflater().inflate(R.layout.list_item_icon_text, null);
viewHolder = new ViewHolder();
viewHolder.tv = (TextView) convertView.findViewById(R.id.tv);
viewHolder.icon = (ImageView) convertView.findViewById(R.id.icon);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.text.setText(tvStrs[position]);
viewHolder.icon.setImageBitmap(icons[position]);
return convertView;
}
static class ViewHolder {
TextView tv;
ImageView icon;
}