要监听 Android WebView 的各种事件,可以通过 WebView 的 setWebViewClient() 方法设置一个 WebViewClient 对象,并重写其中的相应方法来处理事件。
以下是一些常见的事件及其对应的方法:
- 页面加载开始:可以重写 WebViewClient 的 onPageStarted() 方法来监听页面开始加载的事件。
webView.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { // 页面开始加载时的操作 } });
- 页面加载完成:可以重写 WebViewClient 的 onPageFinished() 方法来监听页面加载完成的事件。
webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { // 页面加载完成时的操作 } });
- 页面加载错误:可以重写 WebViewClient 的 onReceivedError() 方法来监听页面加载出错的事件。
webView.setWebViewClient(new WebViewClient() { @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { // 页面加载出错时的操作 } });
- 页面重定向:可以重写 WebViewClient 的 shouldOverrideUrlLoading() 方法来监听页面重定向的事件。
webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // 处理页面重定向的操作 return true; } });
通过重写这些方法,可以监听 WebView 的各种事件,并在事件发生时执行相应的操作。