2012-03-31 13 views
2

Wenn ich eine Seite mit .loadData oder .loadDataWithBaseURL lade, lädt das System einmal eine Seite.Android v2.2-2.3.5: WebView: loadDataWithBaseURL: lädt die Seite nur einmal

Danach funktionieren nachfolgende Aufrufe nicht.

In 4.0.3, wenn ich die Funktion ein zweites Mal mit neuen Daten aufrufen würde, ändert es sich.

Wie kann ich das für 2.2+ beheben? Zerstöre ich das Webview und erstelle ein neues?

webView1.loadDataWithBaseURL("file://", page, "text/html", "UTF-8", null); 
webView1.loadUrl("javascript:window.location.reload(true)"); 

Antwort

1

In loadDataWithBaseURL, stellen Sie den letzten Parameter an die URL, wo die Daten herkommen, statt null.

+0

Die Seite kam nicht von irgendwo her ... Ich verwende HTML programmgesteuert. – mcollard

+0

Wenn Sie dort etwas wie "file: //" einfügen (das ist nicht wirklich wichtig), wird dieses Element dem Verlaufsstapel hinzugefügt (wenn Sie auf die Zurück-Schaltfläche klicken) und Sie erhalten einen Rückruf von shouldOverrideUrlLoading in Ihr WebViewClient. – theelfismike

1

Ich denke, es sollte "file:///" sein. Sie haben nur einen Schrägstrich verpasst.

Verwandte Themen