在我的应用程序中,我有一个WebView
,它加载了来自Internet的任何URL。现在,有时由于网络速度慢,该页面需要很长时间才能加载,用户只能看到空白屏幕。Android ProgessBar加载WebView时
我想显示一个ProgressBar
而WebView
被加载,并且当WebView
被完全加载时隐藏ProgessBar
。
我知道如何使用ProgressBar
和AsyncTask
s,但这里是我的问题。
这是我用来加载我的WebView
的代码。
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.loadUrl(web_URL);
这我的自定义WebViewClient
类
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
现在,如果我尝试显示ProgressBar
使用AsyncTask
小号话,我想我将不得不给的代码加载URL中doInBackGround()
函数我的AsyncTask
并显示通过onProgressUpdate()
函数的进度。
但是,我怎么加载URL的doInBackground()为doInBackground()的非UI线程上运行里面,我将无法使用mWebView.loadUrl(web_URL)
里面。
有什么建议吗?我错过了明显的东西吗?请指导我。
http://stackoverflow.com/questions/4331094/how-to-add-a-progress-bar-in-webview可能重复 – Shrikant
在此堆叠问题HTTP完美地解释道://计算器。 com/questions/5207540/android-webview – Goofyahead
[Android WebView进度条]可能重复(http://stackoverflow.com/questions/2537454/android-webview-progress-bar) –