2017-05-10 2 views
0

Ich habe eine PHP-Dienst, der mir HTML zurückgibt, die ich in einem WebView angezeigtAndroid WebView loadDataWithBaseURL

activity_news_complete_webview.loadDataWithBaseURL("", html, "text/html", "UTF-8", null); 
mit

Auch die WebViewClient implementiert, wie

folgt
WebViewClient webViewClient = new WebViewClient() { 
    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     super.onPageStarted(view, url, favicon); 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     super.onPageFinished(view, url); 
    } 

    @SuppressWarnings("deprecation") 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 

    @TargetApi(Build.VERSION_CODES.N) 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 
     view.loadUrl(request.getUrl().toString()); 
     return true; 
    } 

    @Override 
    public void onLoadResource(WebView view, String url) { 
     super.onLoadResource(view, url); 
    } 
}; 

Dabei wenn ich auf jeder tippen Der WebViewClient zeigt an, dass das URL-Attribut ungefähr leer ist, aber das Tag enthält die richtige URL in der html-Variablen, die ich in der WebView lade.

Jeder, der mir eine geeignete Lösung vorschlagen kann, wäre eine große Hilfe, ich habe viele Threads zu diesem Thema gelesen, aber keine passende Lösung gefunden, weil alles, was ich versuche, das gleiche Problem gibt.

Antwort

0

Sie können diese Zeile ersetzen, um .loadDataWithBaseURL();

activity_news_complete_webview.loadData (html, "text/html; charset = utf-8", "UTF-8");

Es funktioniert perfekt für mich. Probier diese.