繁体   English   中英

Webview加载对话框

[英]Webview loading dialog

我的代码在初始加载时将进度对话框加载到webview中,但我希望每次webview加载URL时都会出现!

我想我需要在进度条之前使用onpagestarted()但是我有点像这样的菜鸟并且无法让它工作。 有人可以提出建议吗?

    //need to set progress bar condition here!

    progressBar = ProgressDialog.show(MyActivity.this, "Loading title", "Loading...");

    myWebView.setWebViewClient(new WebViewClient() {

         public void onPageFinished(WebView view, String url) {
             Log.i(TAG, "Finished loading URL: " +url);
             if (progressBar.isShowing()) {
                 progressBar.dismiss();
             }
         }

    });
    //web site load
    myWebView.loadUrl("http://www.google.com");
boolean loadingFinished = true;
boolean redirect = false;

mWebView.setWebViewClient(new WebViewClient() {

   @Override
   public boolean shouldOverrideUrlLoading(WebView view, String urlNewString) {
       if (!loadingFinished) {
          redirect = true;
       }

   loadingFinished = false;
   webView.loadUrl(urlNewString);
   return true;
   }

   @Override
   public void onPageStarted(WebView view, String url) {
        loadingFinished = false;
        //SHOW LOADING IF IT ISNT ALREADY VISIBLE  
    }

   @Override
   public void onPageFinished(WebView view, String url) {
       if(!redirect){
          loadingFinished = true;
       }

       if(loadingFinished && !redirect){
         //HIDE LOADING IT HAS FINISHED
       } else{
          redirect = false; 
       }

    }
});

如下所示: 如何监听WebView完成加载URL?

您应该使用onPageStarted()方法来显示ProgressDialog

myWebView.setWebViewClient(new WebViewClient() {

     public boolean shouldOverrideUrlLoading(WebView view, String url) {
          view.loadUrl(url);
          return false;
     }

     public void onPageStarted(WebView view, String url, Bitmap favicon) {
          progressBar.show();
     }

     public void onPageFinished(WebView view, String url) {
          progressBar.hide();
     }

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM