2012-03-21 14 views
4

AndroidアプリでWebViewに画像を表示しようとしています。イメージはAndroidプロジェクトのassetsフォルダにあります。 HTMLをプログラムで構築されており、その中にこの画像REFました:HTMLからアセットの画像を参照できない

webView.loadDataWithBaseURL(urlStr、のhtmlText、 "text/htmlの"、「UTFを:

HTMLを使用してのWebViewにロードされます-8 "、urlStr);

urlStr =他のリソースを見つけるために必要なベースURL。 htmlText =プログラムでHTMLを生成

WebViewはHTMLを正常に読み込みますが、画像は「不足」と表示されます。私はイメージが資産のその場所に存在することを確認しました。それにもかかわらず、WebViewには表示されません。

私はこれがうまくいくはずだと言っている数多くの投稿とチュートリアルを見てきましたが、それは私のものではありません。これは、3.2 Androidタブレットにあります。これはAndroidの一部のバージョンでのみ動作するのですか?私の場合、なぜそれがうまくいかないのかについての考えはありますか?ありがとう。

答えて

4

OK、これを最終的に考え出しました。どうやら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のバージョンでうまく動作します。

Googleに来ると、ディレクトリ名のスペースは15年間共通です。プログラムに参加しましょう。エンコードされたURLで

+2

スペースは十分に、エンコードされています。 –

3

enter image description here

webView.loadDataWithBaseURL("file:///android_asset/", sourse, "text/html", "UTF-8", null); 
関連する問題