How do i make my progress dialog dismiss after webview is loaded?

后端 未结 6 1459
一向
一向 2020-12-10 17:22

What do I need to my code to make the dialog dismiss() after the webview is loaded?

public void onCreate(Bundle savedInstanceState) { 
                  


        
6条回答
  •  粉色の甜心
    2020-12-10 18:01

    @Jorgesys this is not 100% accurate. If you have several iframes in a page you will have multiple onPageFinished (and onPageStarted). And if you have several redirects it may also fail. This approach i think solves all the problems:

    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; 
           }
    
        }
    });
    

提交回复
热议问题