0

这很奇怪,但确实如此。我正在使用 ViewHolder 模式来提高列表性能。getView() 方法有位图,但下面的代码无法在列表视图项的图像视图中呈现位图。

if (convertView == null) {
    convertView = layoutInflater.inflate(R.layout.item_view_contact_item, null);
    viewHolder = new ViewHolder(convertView);
    convertView.setTag(viewHolder);
} else {
    viewHolder = (ViewHolder) convertView.
}

以上无法在列表行图像视图中呈现位图。但是下面的代码确实

//if(convertView == null) {
    convertView = layoutInflater.inflate(R.layout.item_view_contact_item, null);
    viewHolder = new ViewHolder(convertView);
    convertView.setTag(viewHolder);
//} else {
//    viewHolder = (ViewHolder) convertView.
//}

在这种情况下,一切(搜索、分配给 imageview 的位图)都可以正常工作。但这会导致列表性能下降,因为每次都会发生布局膨胀。

请帮忙。

注意:我在单独的 AsyncTask 中下载位图,并将它们分配到最初传递给适配器的 arraylist 中。

4

0 回答 0