Android WebView导航事件?

时间:2014-05-09 09:01:31

标签: android navigation xamarin android-webview

我正在寻找相当于"导航"的Android WebView事件。 WPF WebBrowser的事件,或者#34; ShouldStartLoad" IOS UiWebView。

我发现" 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
    }

1 个答案:

答案 0 :(得分:6)

是的,您应该使用 shouldOverrideUrlLoading 方法。此方法会自动调用,因此您不必担心参数。 要使用此方法,您必须首先创建一个WebViewClient,如下所示:

private class HelloWebViewClient extends WebViewClient {

     @Override
   public boolean shouldOverrideUrlLoading(WebView view, String url) {
         ...
      }
}

然后,将其设置为WebViewClient:

webview.setWebViewClient(new HelloWebViewClient());

当调用 shouldOverrideUrlLoading 方法时,您将通过参数接收WebView和将要加载的URL。