W mojej aplikacji mam WebView
, który ładuje dowolny adres URL z Internetu. Teraz, czasami z powodu wolnych sieci, ładowanie strony zajmuje dużo czasu, a użytkownik widzi tylko pusty ekran.Android ProgessBar podczas ładowania WebView
Chcę pokazać , gdy WebView
zostanie załadowany i ukryć ProgessBar
po całkowitym załadowaniu WebView
.
Wiem, jak korzystać z ProgressBar
i AsyncTask
s, ale tutaj jest mój problem.
To jest kod, którego używam do ładowania mojego WebView
.
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.loadUrl(web_URL);
A to mój zwyczaj WebViewClient
klasa
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
Teraz, gdy próbuję pokazać ProgressBar
użyciu AsyncTask
s następnie Chyba będę musiał podać kod, aby załadować URL w doInBackGround()
Funkcja mojego AsyncTask
i pokazuje postęp poprzez funkcję onProgressUpdate()
.
Ale jak mogę załadować URL wewnątrz doInBackground() jako doInBackground() działa na gwincie dla UI i wont być w stanie wykorzystać mWebView.loadUrl(web_URL)
wewnątrz niego.
Wszelkie sugestie? Czy brakuje mi czegoś oczywistego? Proszę, prowadź mnie.
http://stackoverflow.com/questions/4331094/how-to-add-a-progress-bar-in-webview możliwe duplikat – Shrikant
doskonale wyjaśnione w tej kwestii stosu http: // stackoverflow. com/questions/5207540/android-webview – Goofyahead
możliwy duplikat paska postępu w Android WebView (http://stackoverflow.com/questions/2537454/android-webview-progress-bar) –