我使用进度条指示在web webview中加载页面。但是,即使在完全加载页面之后,Progress Bar也会显示。我使用logcat进行调试,显示调用onPageFinished函数。
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
_dialog =ProgressDialog.show(UmlScreen.this, "", "Please wait...");
super.onPageStarted(view, url, favicon);
_dialog.setCanceledOnTouchOutside(true);
Log.d("LOGCAT", "started");
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
if (_dialog != null || _dialog.isShowing()) {
_dialog.dismiss();
Log.d("LOGCAT", "finished");
}
}
答案 0 :(得分:3)
尝试在WebViewClient外部初始化_dialog,例如在OnCreateView方法
中答案 1 :(得分:0)
因为页面没有完成。可能是页面上有很多图像,所以下载它们需要时间。
你可以使用断点来检查它。调试代码并将断点放在super.onPageFinished(view, url);
答案 2 :(得分:0)
我可以给你一些虚拟代码。
webview.load(url);
dialog.show();
public void onPageFinished(WebView view, String url) {
//....
dialog.dismiss();
}
答案 3 :(得分:0)
@Override
public void onPageFinished(WebView view, String url) {
try{
if (prDialog.isShowing()|| prDialog!= null) {
prDialog.dismiss();
prDialog= null; /*** Add ***/
}
}catch(Exception exception){
exception.printStackTrace();
}
}
}