【问题标题】:Using ImageLoader with ListView on Android在 Android 上使用 ImageLoader 和 ListView
【发布时间】:2015-07-31 20:30:33
【问题描述】:

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

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

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

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

我在监听器:AnimateFirstDisplayListener 中添加了“onLoadingFailed”方法,以便尝试理解问题。它返回失败错误:DECORDING_ERROR。

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

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

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

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

【问题讨论】:

  • 您能否在提供给加载程序之前通过打印它们来验证这些 URL 是否是有效的图像 URL?
  • 它们是有效的。正如我所写:当我简单地向下滚动然后向上正确加载所有图像时。
  • 我认为问题出在这个监听器 animateFirstListener 上。
  • 如何在 xml 中定义 ImageView?如果它是 wrap_content 那么首先它会给出 0 因为没有设置图像并且它是空的。
  • 此外,如果您尝试在 onCreate 中获取宽度,它将始终为 0。下面是获取ImageView的宽度的正确方法stackoverflow.com/questions/4680499/…

标签: android listview universal-image-loader


【解决方案1】:

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

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

返回:0。 这可能是因为 Android 还没有大小。 我使用的解决方案来自@Sharj 的网址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 2015-09-30
    • 2012-02-26
    相关资源
    最近更新 更多