2012-12-04 143 views
0

我有一个项目列表视图。当我滚动时,图像随机出现。 我不知道为什么...... 有适配器:ListView图像随机

package com.forel.dbc; 
[...] 

public class AgendaAdapter extends BaseAdapter { 

private List<Data> items; //Le contenu 
private LayoutInflater inflater; 
private Context context;  
private SmartImageView myImage; 

public AgendaAdapter(Context context, List<Data> items, DownloaderImageViewCache imageCache, boolean invertTextColor) { 

    this.items = items; 
    this.context = context; 
    this.imageCache = imageCache; 
    inflater = (LayoutInflater)this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

} 

[...] 
public View getView(int position, View convertView, ViewGroup parent) { 

    if(convertView == null) { 
     convertView = inflater.inflate(R.layout.agenda_list_item, parent, false); 

    } 
    final Data event = (Data) getItem(position); 
    if (event.getTitle() != null) 
     ((TextView) convertView.findViewById(R.id.eventName)).setText(event.getTitle()); 
    if (event.getDesc() != null) 
     ((TextView) convertView.findViewById(R.id.desc)).setText(event.getDesc()); 

    ((SmartImageView) convertView.findViewById(R.id.my_image)).setImageUrl(event.getPicture()); // getPicture return imageUrl, 

    return convertView; 
}} 

的图像随机出现在列表中

如果有人有一个想法......

谢谢!

+0

这听起来像是SmartImageView库的问题。 – dmon

回答

2

我正确地认为这些图像是通过网络连接加载的吗?如果这样可以解释您的问题,因为您正在设置图像,而图像又会启动后台进程以获取图像。

机会是你在列表中移动,导致刷新,因此图像被加载到不正确的ImageView。

0

当您在下载后设置图像时,应确保与此视图相关的数据在此期间未发生变化。