Если бы дважды загрузить данные, чтобы обновить WebView в Android
Когда я впервые создаю действие, все будет хорошо. Тем не менее, после того, как я выберу из меню, чтобы изменить текст строки String и установить webview на
webview.loadData(result, "text/html; charset=UTF-8", null);
webview.loadData(result, "text/html; charset=UTF-8", null);
Мне нужно сделать это дважды, или веб-просмотр останется неизменным. Кто-нибудь знает, что здесь происходит? Поскольку результат String тот же, почему webview заставляет меня дважды загружать данные?
Ответы
Ответ 1
Избегайте WebView # loadData (String data, String mimeType, String encoding) - это ошибка.
Используйте WebView # loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String historyUrl) вместо этого.
Итак, ваша инструкция будет выглядеть так:
webview.loadDataWithBaseURL(null,result,"text/html", "utf-8", null);
Ответ 2
Не знаю, какова ваша проблема, но посмотрите на документацию по веб-просмотру, вы неправильно используете метод loadData:
Веб-просмотр: документация loadData
Вероятно, вы должны вызвать свой веб-просмотр следующим образом:
webview.loadData(result, "text/html", "UTF-8");
Не знаю, решит ли он вашу проблему вообще.
Ответ 3
Я загружаю локальные HTML-данные в свое веб-представление, и это веб-представление находится в обзоре реселлера. Когда я пытаюсь выполнить функцию webview.loadData(), когда она отображается в первый раз, когда она работает нормально, но при прокрутке вверх-вниз каждое раздутое веб-представление портится. Когда я пытаюсь второй webview.loadDataWithBaseURL(), он работает как шарм.
поэтому, когда вы загружаете HTML локально, и он ссылается на ресурсы, такие как images & css, которые также упакованы локально, используйте webview.loadDataWithBaseURL()
Ответ 4
Да, с помощью loadDataWithBaseURL он обновляет данные, но затем игнорирует цвет фона CSS!... По крайней мере, он не может проанализировать "% 23000000", который работает с loadData.