webview在加载完网页的时候自动隐藏progressbar进度条网上的大多的方法是
mWebView.setWebChromeClient(new WebChromeClient()
{
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
if (mProgressBar.getVisibility() == ProgressBar.GONE){
mProgressBar.setVisibility(ProgressBar.VISIBLE);
}
mProgressBar.setProgress(progress);
mProgressBar.postInvalidate();
if (progress == 100) {
mProgressBar.setVisibility(View.GONE);
}
}
});
我在使用这种方法有时候会导致webview异常,使webview空白,无法显示任何数据,在看android developer上面关于progressbar的例子后,修改如
mWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
final int progress=newProgress;
mHandler.post(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
if (mProgressBar.getVisibility() == ProgressBar.GONE) {
mProgressBar.setVisibility(ProgressBar.VISIBLE);
}
mProgressBar.setProgress(progress);
mProgressBar.postInvalidate();
if (progress == 100) {
mProgressBar.setVisibility(View.GONE);
}
});
}
});