【发布时间】:2013-08-18 19:21:35
【问题描述】:
正如标题所说,我正在使用 BaseAdapter 在 ListView 中显示项目。显然 ListView 会重用视图,包括 TextViews 和 NetworkImageViews。
假设一次可以显示 3 个项目,NetworkImageView 将被重新用于索引:1、4、7、...处的项目。
根据显示的内容,NetworkImageView 将:
- 从网络请求图像并显示它,
- 显示缓存的位图,
- 或显示本地可绘制资源。
项目 2 和 3 工作正常,但是在场景 1 中,假设我们从网络显示索引 4 的项目,并且用户在加载 4 之前滚动到项目 7 并且它是本地资源,我们显示本地资源。但是我们的网络图像请求现在可能刚刚完成,所以我们最终显示了一个错误的图像。
如何执行正确的(预期的)行为?
【问题讨论】: