单击加载了LoadDataWithBaseURL的网页中的链接后未调用ShouldOverrideUrlLoading

时间:2015-05-18 11:37:05

标签: android webview webviewclient

当我点击带有webView.LoadDataWithBaseURL的webview中加载的html内的链接时,我的自定义webview客户端中的方法ShouldOverrideUrlLoading未被调用(null,body," text / html"," utf-8",null);

因此,我得到一个空白页:(

我如何拦截点击事件或者是否有任何方法可以调用过度加载?

类MyWebViewClient:WebViewClient         {             public delegate void PageLoaded();             公共事件PageLoaded PageLoadedEvent;

        public override bool ShouldOverrideUrlLoading (WebView view, string url)
        {
            view.LoadUrl (url);
            return true;
        }

        public override void OnPageStarted (WebView view, string url, Android.Graphics.Bitmap favicon)
        {
            base.OnPageStarted (view, url, favicon);

        }

        public override void OnPageFinished (WebView view, string url)
        {
            if(PageLoadedEvent != null)
            {
                PageLoadedEvent ();
            }
            base.OnPageFinished (view, url);

        }

        public override void OnReceivedError (WebView view, ClientError errorCode, string description, string failingUrl)
        {
            base.OnReceivedError (view, errorCode, description, failingUrl);
        }
    }

1 个答案:

答案 0 :(得分:2)

Migrating to WebView in Android 4.4中所述“如果您通过使用无效或空基URL调用loadData()或loadDataWithBaseURL()来加载页面,那么您将不会收到此类链接的shouldOverrideUrlLoading()回调这页纸。”在将LoadDataWithBaseURL()从null调用到有效URL时,应更改基本URL。

相关问题