0

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

4

1 回答 1

0
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);
    }
 }
于 2020-10-07T19:18:16.943 回答