0

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

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;
}}

图像随机出现在列表中

如果有人有想法...

谢谢!

4

2 回答 2

2

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

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

于 2012-12-04T15:28:06.327 回答
0

下载后设置图像时,应确保与此视图关联的数据同时没有更改。

于 2012-12-04T15:29:33.613 回答