我正在寻找Android WebView的事件,它等同于WPF WebBrowser的“导航”事件,或IOS UiWebView的“ShouldStartLoad”.
我找到了“shouldOverrideUrlLoading”,但我不知道如何使用它,因为构造函数需要一个URL …
我想在导航之前截取Url,并取消某些网址的导航…
我在Visual Studio中使用Xamarin.
WPF等价物:
webBrowser.Navigating += WebBrowserNavigating;
private void WebBrowserNavigating(object sender, NavigatingEventArgs e)
{
if (//condition)
e.Cancel = true;
//Do something else
}
解决方法:
是的,您应该使用shouldOverrideUrlLoading方法.此方法是自动调用的,因此您不必担心参数.
要使用此方法,您必须首先创建一个WebViewClient,如下所示:
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
...
}
}
然后,将其设置为WebViewClient:
webview.setWebViewClient(new HelloWebViewClient());
当调用shouldOverrideUrlLoading方法时,您将通过参数接收WebView和将要加载的URL.