ファイルを処理した後、画像が次のように設定された HTML 文字列を取得します
<img src="abc.001.png" width="135" height="29" alt="" style="margin-left:0pt; margin-top:0pt; position:absolute; z-index:-65536" />
リストからファイル項目を選択する必要があるため、画像のパスは変更しないでください。画像はファイルと同じディレクトリにあります。loadData/loadDataWithBaseURL を使用して HTML 文字列を読み込みましたが、画像が表示されません。枠しか見えない。
どうすればこれを修正できますか? そして、 .001.jpg 、 .002.png などとしてインデックス付けされた多くの画像がある場合に、そのソリューションを適用できますか? (すべてディレクトリ内)?
更新:ありがとう、画像の名前に関係なく、loadUrl() ステートメントで動作します。実際、コンテンツを WebView にロードする前に、コンテンツを読み取って処理する必要があります。そのため、loadDataWithBaseUrl() ステートメントを使用して、上記の問題が発生します。Test.html のコンテンツを読み取って表示するテスト プロジェクトのコードを次に示します。
String res = "";
File file = new File(Environment.getExternalStorageDirectory()+"/Test.html");
try {
FileInputStream in = new FileInputStream(file);
if (in != null) {
BufferedReader buffreader = new BufferedReader(
new InputStreamReader(in));
String line;
while ((line = buffreader.readLine()) != null) {
res += line;
}
in.close();
}
} catch (Exception e) {
e.printStackTrace();
}
wv.loadDataWithBaseURL(null, res, "text/html", "utf-8", null);
//wv.loadUrl("file://"+Environment.getExternalStorageDirectory()+"/Test.html");
// のステートメントは機能しますが、それは私の実際のプロジェクトでできることではありません。私には解決策があります。コンテンツを処理した後、一時的な HTML ファイルに保存してからロードする必要があります。そのファイルは後で削除されます。しかし、私はまだより良い解決策を楽しみにしています:)