在 Android 上将 ImageLoader 与 ListView 结合使用

Using ImageLoader with ListView on Android

我正在使用 ImageLoader 将图像加载到 ListView。

这是我用来加载图像的代码:

ImageLoader.getInstance().displayImage(url, holder.image, options, animateFirstListener);

应用程序加载后,table 显示良好,但未加载图像。如果我向下滚动 table 然后向上滚动,图像就会正确加载。所有其他图像均已正确加载。由于某种原因,只有应用程序运行时显示的第一张图像未加载。其余单元格数据填充OK。

我添加到侦听器:AnimateFirstDisplayListener "onLoadingFailed" 方法以尝试理解问题。它 returns 失败错误:DECODING_ERROR.

有人知道我错过了什么吗?

好的。我想我明白了。我用这一行来构建 URL:

String url = "http://www.domain.com/getImage?newsId=" + feedItem.getId() + "&w=" +
                    holder.image.getWidth() + "&h=" + holder.image.getHeight(); 

方法:holder.image.getWith()(和 getHeight)returns初始加载时为“0”。有人知道这是为什么吗?

出现这个问题的原因是因为方法:

holder.image.getWidth()
holder.image.getHeight()

返回:0。 这可能是因为 Android 还没有尺寸。 我使用的解决方案来自@Sharj 的 url.