在Xamarin中使用ShouldOverrideUrlLoading时,成员会覆盖过时的成员错误

时间:2016-12-24 22:26:09

标签: android xamarin webview xamarin.android android-webview

我是一名业余编码员,试图四处游玩并探索。我的编码水平非常新手。我一直在尝试在Xamarin中构建一个简单的应用程序。它包含的是一个加载我的网站的webView。而已。当我尝试构建时,我收到以下错误,我似乎无法找到答案。有人可以帮忙吗?

  

严重级代码描述项目文件行抑制状态   警告CS0672会员   ' MainActivity.HelloWebViewClient.ShouldOverrideUrlLoading(web视图,   字符串)'覆盖过时的成员   ' WebViewClient.ShouldOverrideUrlLoading(WebView,string)'。添加   过时的属性   ' MainActivity.HelloWebViewClient.ShouldOverrideUrlLoading(web视图,   字符串)&#39 ;. pnbApp D:\ Workspace \ PNB_App \ pnbApp \ pnbApp \ MainActivity.cs 29 Active

这是代码中失败的部分:

> public class HelloWebViewClient : WebViewClient
>         {
>             public override bool ShouldOverrideUrlLoading(WebView view, string url)
>             {
>                 view.LoadUrl(url);
>                 return true;
>             }
>         }

提前致谢。

1 个答案:

答案 0 :(得分:4)

这只是一个警告,表示ShouldOverrideUrlLoading(WebView view, string url)已过时,并且已在API级别24中弃用。请改用ShouldOverrideUrlLoading(WebView view, WebResourceRequest request)

如果您要定位Android旧版本,则需要ShouldOverrideUrlLoading(WebView view, string url),如果您的目标是24或更高版本,则建议您覆盖后一种方法。但前一种方法ShouldOverrideUrlLoading(WebView view, string url)仍在API级别24中工作

代码示例:

public class HelloWebViewClient : WebViewClient
    {

        public override bool ShouldOverrideUrlLoading(WebView view, string url)
        {
            //Uri uri = Uri.Parse(url);
            view.LoadUrl(url);
            return true;
        }

        public override bool ShouldOverrideUrlLoading(WebView view, IWebResourceRequest request)
        {
            Uri url = request.Url;
            view.LoadUrl(url.ToString());
            return true;
        }
    }