2015-05-24 20 views
13

Pracuję nad aplikacją, która używa WebView do renderowania niestandardowego html. Ale kiedy zadzwonię pod numer
loadDAtaWithBaseURL(URL, "<html><h1>TEST</h1></html>", "text/html; charset=utf-8;", "utf-8", null); pokazuje się sam html (nie wyrenderowany) na emulatorze Genymotion. Na moim HTC-one działa dobrze z renderowanym html. Każdy wynik jest pokazany jako załączony.WebView pokazuje źródło html z loadDataWithBaseURL, nie renderowany widok

Shown result on Genymotion emulator Shown result on HTC one

Czy ktoś ma ten sam problem lub rozwiązanie? Dzięki.

+15

Przepraszam, rozwiązałem to sam. "text/html; charset = utf-8;" jest problemem i powinien to być tylko "text/html". – user2779344

+1

Chcę kupić Ci piwo. Uratowałeś mnie. – Kinggeov

Odpowiedz

0

chodzi dałeś info, nie mogę mieć jasną diagnostycznym dla tej kwestii, ale to, jak należy to zrobić, żeby sprawdzić, czy coś przeoczyć

  1. pierwszy, dodaj wiersz do swojej aktywności w pliku manifestu

  2. Załaduj swoje dane za pomocą

    public void loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String historyUrl);

i odbywa się to w ten sposób

loadDataWithBaseURL(Url, data, "text/html", "UTF-8", historyUrl) 

Zauważ, że

Jeśli adres URL bazowa wykorzystuje schemat danych, metoda ta jest równoznaczne z wywołaniem loaddata() a historyUrl jest ignorowane, a dane będą traktowane jako część danych: URL. Jeśli podstawowy adres URL korzysta z dowolnego innego schematu, dane zostaną załadowane do WebView jako zwykły ciąg (tj. Nie będący częścią adresu URL danych), a wszelkie encje zakodowane w adresie URL w łańcuchu nie zostaną zdekodowane.

Powiązane problemy