2015-05-24 1 views
13

Ich entwickle eine Anwendung, die WebView verwendet, um benutzerdefinierte HTML zu rendern. Aber wenn ich rufe
loadDAtaWithBaseURL(URL, "<html><h1>TEST</h1></html>", "text/html; charset=utf-8;", "utf-8", null);
es zeigt HTML selbst (nicht gerendert eins) auf Genymotion Emulator. Auf meinem HTC-One funktioniert es gut mit gerenderten HTML. Jedes Ergebnis wird als angehängt angezeigt.WebView zeigt Quelle html mit loadDataWithBaseURL, nicht gerendert anzeigen

Shown result on Genymotion emulator Shown result on HTC one

Hat jemand ein gleiches Problem oder Lösung? Danke.

+15

Sorry Leute, ich löse das alleine. "text/html; Zeichensatz = utf-8;" ist das Problem und es sollte nur "text/html" sein. – user2779344

+1

Ich möchte dir einen Biermann kaufen. Du hast mich gerettet. – Kinggeov

Antwort

0

Im Hinblick auf die Informationen, die Sie gegeben haben, kann ich keine klare Debug für das Problem haben, aber das ist, wie es nur getan werden sollte, um zu überprüfen, ob Sie etwas verpasst

  1. Zuerst fügen Sie diese Zeile zu Ihrer Tätigkeit in der Manifest-Datei

  2. Ihre Daten laden mit

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

Und dies so gemacht wird

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

Beachten Sie, dass

Wenn die Basis-URL des Datenschema verwendet, diese Methode Aufruf loaddata entspricht() und die historyUrl wird ignoriert und die Daten werden als Teil einer data: URL behandelt. Wenn die Basis-URL ein anderes Schema verwendet, werden die Daten in die WebView als einfache Zeichenfolge geladen (d. H. Nicht Teil einer Daten-URL) und alle URL-codierten Entitäten in der Zeichenfolge werden nicht decodiert.