Nella mia applicazione, ho un WebView
che carica qualsiasi URL da Internet. Ora, a volte a causa di reti lente, la pagina impiega molto tempo per essere caricata e l'utente vede solo uno schermo vuoto.ProgessBar Android durante il caricamento di WebView
Voglio mostrare un ProgressBar
mentre il WebView
viene caricato e nascondere ProgessBar
quando il WebView
viene caricato completamente.
So usare lo ProgressBar
e AsyncTask
s, ma ecco il mio problema.
Questo è il codice che utilizzo per caricare il mio WebView
.
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.loadUrl(web_URL);
E questa mia abitudine WebViewClient
classe
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
Ora, se provo a mostrare il ProgressBar
utilizzando AsyncTask
s allora credo che avrei dovuto dare il codice per caricare l'URL nella Funzione doInBackGround()
del mio AsyncTask
e mostra l'avanzamento attraverso la funzione onProgressUpdate()
.
Ma, come faccio a caricare l'URL all'interno del doInBackground() come doInBackground() corre sul filo non-UI e Non sarò in grado di utilizzare mWebView.loadUrl(web_URL)
al suo interno.
Qualche suggerimento? Mi manca qualcosa di ovvio? Per favore guidami.
http://stackoverflow.com/questions/4331094/how-to-add-a-progress-bar-in-webview possibile duplicato – Shrikant
perfettamente spiegato a questo stack domanda http: // StackOverflow. it/questions/5207540/android-webview – Goofyahead
possibile duplicato di [barra di avanzamento Android WebView] (http://stackoverflow.com/questions/2537454/android-webview-progress-bar) –