Приведенный ниже код отлично работает для моего проекта.
Используйте ViewHolder вместо нового ImageView (Context c) каждый раз, если у вас есть 2 или более представления в держателе, просто код, как показано ниже (использует findViewById ()):
holder.iv = (ImageView) convertView.findViewById (R.id.iv);
holder.tv = (TextView) convertView.findViewById (R.id.tv);
И вам лучше надуть макет в xml и кодировать стили представлений. Не кодируйте в getView (), так как он чувствителен ко времени.
Код, модифицированный из демоверсии LazyList, надеюсь, это сработает для вас. Наилучшие пожелания!
static class ViewHolder{
ImageView iv;
}
public View getView(int position, View convertView, ViewGroup parent) {
View holder = null;
if(convertView==null){
convertView = inflater.inflate(R.layout.item, null);
holder = new ViewHolder();
holder.iv = (ImageView) convertView;
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
imageLoader.DisplayImage(data[position], activity, holder.iv);
return convertView;
}