如何停止使用WebView中的链接的Java代码执行完全在android studio中加载

问题描述

我正在尝试在android studio中制作一个网络抓取应用程序,在该应用程序中,我想对提取的数据使用Java代码执行一些操作。 问题是webview是异步工作的,也就是说,它将继续执行相同方法的其余行以及将网站加载到webview中。 但是我的webview.url调用后的代码需要仅在站点完全加载时才可用的数据,因此我希望java等待站点完全加载然后执行剩余的代码行。 任何建议表示赞赏

解决方法

webView = (WebView) findViewById(R.id.webView);
webView.setWebViewClient(new MyWebViewClient());

progress = (ProgressBar) findViewById(R.id.progressBar);
progress.setVisibility(View.GONE);

private class MyWebViewClient extends WebViewClient {   
 @Override
    public boolean shouldOverrideUrlLoading(WebView view,String url) {
        view.loadUrl(url);
        return true;
    }

     @Override
    public void onPageFinished(WebView view,String url) {
         progress.setVisibility(View.GONE);             
        super.onPageFinished(view,url);
 // Here webview for finished loading
    }

     @Override
     public void onPageStarted(WebView view,String url,Bitmap favicon) {
          progress.setVisibility(View.VISIBLE);          
        super.onPageStarted(view,url,favicon);
    }
 }