4

我正在尝试在 Android 应用程序的 WebView 中显示图像。该图像存在于我的 Android 项目的资产文件夹中。HTML 以编程方式构建,其中包含此图像参考:

使用以下方法将 HTML 加载到 WebView 中:

webView.loadDataWithBaseURL(urlStr, htmlText, "text/html", "utf-8", urlStr);

urlStr = 查找其他资源所需的基本 url。htmlText = 以编程方式生成 HTML

WebView 加载 HTML 很好,但图像显示为“丢失”。我已验证该图像存在于资产中的该位置。然而,它不会出现在 WebView 中。

我看过很多帖子和教程说这应该有效,但它不适合我。这是在 3.2 Android 平板电脑上。任何人都知道这是否仅适用于某些版本的Android?关于为什么它在我的情况下不起作用的任何想法?谢谢。

4

2 回答 2

4

好的,我终于想通了。显然,如果图像路径中有空格,Android 代码中的某个地方会出现错误。所以:

<img src="file:///android_asset/SkyInfo/images/Deep Sky/M13-Misti.jpg">

将无法加载图像。如果您将其更改为:

<img src="file:///android_asset/SkyInfo/images/DeepSky/M13-Misti.jpg">

它会起作用(假设您已重命名目录)。

笔记:

  • 这只是从资产读取时的问题。
  • 似乎是 Android 4.x 的问题。我在 4.0.4 和 4.3 版本上遇到过这个问题,但空间在 2.3.x 版本中工作得很好。

来吧谷歌,目录名称中的空格已经常见了 15 年。得到这个程序。

于 2012-03-22T23:31:38.780 回答
4

在此处输入图像描述

 webView.loadDataWithBaseURL("file:///android_asset/", sourse, "text/html", "UTF-8", null);
于 2013-06-10T11:30:50.320 回答