我有一个带有项目的列表视图。滚动时,图像会随机出现。 我不知道为什么...... 有适配器:
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 :(得分:2)
假设这些图像是通过网络连接加载的,我是否正确?如果是这样可以解释您的问题,就像您正在设置图像一样,后者又会启动后台进度以获取图像。
您有可能在列表中移动,导致刷新,因此图像被加载到不正确的ImageView中。
答案 1 :(得分:0)
下载后设置图像时,应确保与此视图关联的数据同时没有更改。