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

Tha*_*h N 0 android webview android-webview xamarin.android xamarin

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

严重性代码描述项目文件行抑制状态警告 CS0672 成员“MainActivity.HelloWebViewClient.ShouldOverrideUrlLoading(WebView, string)”覆盖过时的成员“WebViewClient.ShouldOverrideUrlLoading(WebView, string)”。将 Obsolete 属性添加到“MainActivity.HelloWebViewClient.ShouldOverrideUrlLoading(WebView, string)”。pnbApp D:\Workspace\PNB_App\pnbApp\pnbApp\MainActivity.cs 29 活动

这是它在代码中失败的部分:

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

提前致谢。

Mik*_* Ma 5

这只是一个警告,表示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;
        }
    }
Run Code Online (Sandbox Code Playgroud)