Android ProgessBar beim laden WebView

In meiner Anwendung habe ich eine WebView die Lasten einer beliebigen URL aus dem internet. Nun, manchmal durch langsame Netzwerke der Seite dauert eine lange Zeit zu laden, und der Benutzer sieht nur einen leeren Bildschirm.

Möchte ich zeigen, eine ProgressBar während der WebView geladen wird und ausblenden der ProgessBar wenn die WebView wird komplett geladen.

Ich wissen, wie die ProgressBar und AsyncTasks, aber hier ist mein problem.

Dies ist der code, den ich verwende zum laden meiner WebView.

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.setWebViewClient(new HelloWebViewClient());
    mWebView.loadUrl(web_URL);

Und das meine benutzerdefinierte WebViewClient Klasse

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

Nun, wenn ich versuche, zeigen die ProgressBar mit AsyncTasks dann denke ich, ich hätte zu dem code, der das laden der URL in der doInBackGround() Funktion meines AsyncTask und zeigt den Fortschritt durch die onProgressUpdate() Funktion.

Aber, wie lade ich die URL innerhalb der doInBackground() als doInBackground() läuft auf der Nicht-UI-thread und ich werde nicht in der Lage zu verwenden mWebView.loadUrl(web_URL) drin.

Irgendwelche Vorschläge? Übersehe ich hier etwas offensichtliches? Bitte führe mich.

InformationsquelleAutor der Frage Swayam | 2012-06-28

Schreibe einen Kommentar