Android WebView.loadDataWithBaseURL загрузка первой страницы - беспорядок.Как это исправить? - PullRequest
1 голос
/ 19 мая 2011

Я использую WebView.loadDataWithBaseURL для загрузки моей страницы справки из внутренних ресурсов моего приложения.

У меня есть help.html и несколько изображений, расположенных в каталоге ресурсов.Страница загружается и отображается с изображениями, но текст вокруг изображения - беспорядок.Он не показывался с правой стороны изображения, вместо этого изображение накладывалось на текст.

Это происходит только при первой загрузке страницы.Если я закрою WebView и снова открою его, то все в порядке.Кажется, что при первой загрузке WebView тратит некоторое время на загрузку изображений и после этого не переформатирует страницу.Во второй попытке изображения кэшируются и отображаются вместе с текстом и должным образом отформатированы.

Какое решение этой проблемы?

Кто-нибудь сталкивался с этой проблемойтоже?

Вот мой код:

    app.setContentView(R.layout.help);
    final WebView web = (WebView) app.findViewById(R.id.helpWebView);
    web.setBackgroundColor(0);
    web.loadDataWithBaseURL("file:///android_asset/", helpHtml, "text/html", "utf-8", null);        

Веб-страница находится внутри строки helpHtml с кодом:

<html><head></head><body><img src="html/flddesc.png" align="left"/>this should be my long long text...</body></html>

PS: html / flddesc.png - это изображение PNG8 размером 180x200 ~ 20 КБ

1 Ответ

4 голосов
/ 19 мая 2011

Попробуйте эту функцию:

webview.loadUrl("file:///android_asset/your_html.html");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...