Listview无法使用ViewHolder Pattern在Imageview中渲染位图

时间:2015-03-09 20:12:28

标签: android listview android-viewholder

非常奇怪,但却是如此。我正在使用ViewHolder模式来提高列表性能。 getView()方法有位图,但下面的代码无法在listview项的imageview中呈现位图。

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中呈现位图。但是下面的代码确实

//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)都可以正常工作。但这导致列表性能下降,因为布局通胀每次都在发生。

请帮助。

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

0 个答案:

没有答案