loadDataWithBaseURL пустой результат - PullRequest
0 голосов
/ 20 сентября 2018

Я бы хотел загрузить веб-сайт в веб-просмотре с помощью UTF-8, потому что у меня проблемы с акцентуацией, поэтому я пытаюсь:

myWebView.loadDataWithBaseURL("http://www.planalto.gov.br/ccivil_03/constituicao/constituicaocompilado.htm", "", "text/html", "UTF-8", null);

, но в результате получается пустой экран.

Если я использую loadURL ("site"), он загружается, но у меня проблемы с акцентуацией.какие-нибудь идеи?

edit -

мои настройки веб-просмотра:

WebView myWebView = findViewById(R.id.webView1);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAppCacheEnabled(true);
webSettings.setDefaultTextEncodingName("utf-8");
myWebView.setWebViewClient(new MyWebViewClient());

  public class MyWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }

xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <WebView  xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/webView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />

    </LinearLayout>

enter image description here

1 Ответ

0 голосов
/ 20 сентября 2018

Вам нужно будет использовать loadUrl для загрузки ссылки.

loadDataWithBaseUrl не предназначен для загрузки данного baseUrl в WebView.Он предназначен для загрузки данных, которые вы передаете как data в WebView ( документация ).Скажи, что хочешь иметь "Hello World!"записано в вашем WebView:

webview.loadDataWithBaseURL(url, "<html><body>Hello World.</body></html>", null, "UTF-8", null)

Что касается кодировки: при использовании loadUrl вам не нужно явно указывать UTF-8, поскольку это значение по умолчанию .Использование ISO-8859-1 сработало для конкретной страницы, которую вы хотите загрузить:

webSettings.defaultTextEncodingName = "ISO-8859-1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...