我需要一些关于 ListView 的帮助。
背景:
我创建了一个扩展 ArrayAdapter 的 ListAdapter -
列表中的每个项目都有 2 个SmartImageView,我在 asynctask 中获取 URL 名称并将它们设置为:image1.setImageURL(someURL)。
我还使用带有 scoreHolder 的视图标签。我的 asynctask 与一个名为 onURLSFullyFetched 的侦听器一起工作 - 所以我只在完成获取 URLS 时设置SmartImageView 。
列表项基于 scoreData 数组,我构造了一个字符串数组 images[] 以匹配 scoreData 中有多少元素。
在我的 getView() 中,当我填充图像时,我执行以下操作: 1. 检查 images[position] 是否为 null - 如果是,则调用 asynctask 任务以获取图像 url,并将结果保存到 images[position] 并设置图像持有者:
scoreHolder.image1.setImageUrl(URLS[1]);
scoreHolder.image2.setImageUrl(RLS[0]);
2.如果images[position不为null,我只是根据images[position]设置scoreHolder图片。
问题:
一切正常,除了当我加载列表视图时,“显示”(在屏幕上可见)的每个项目都不会填充图像。当我开始滚动列表视图时,我注意到之前不可见的项目,绘制图像很好。
然后,如果我向上滚动[到未绘制图像的项目] - 我看到它已被绘制并设置好。
我错过了什么吗?