加载页面后,进度对话框不会被解除

时间:2013-11-12 09:29:47

标签: android webview android-progressbar

我使用进度条指示在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");
        }

   }

4 个答案:

答案 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();
                }

        }
    }

或访问...... https://stackoverflow.com/a/31981161/3857542