为了账号安全,请及时绑定邮箱和手机立即绑定

FFImageLoading 在 Android 中抛出异常并出现错误:

FFImageLoading 在 Android 中抛出异常并出现错误:

C#
一只甜甜圈 2022-11-13 13:38:55
我刚开始将 FFImageLoading 用于 Xamarin 跨平台项目,Android MainActivity.cs 文件抛出未处理的异常:System.TypeLoadException:由于找不到方法,无法加载方法覆盖列表:voidXamarin.Forms.Platform.Android.IVisualElementRenderer.add_LayoutChange(System.EventHandler`1)我已经看过很多次了,但不明白这里到底要做什么。以下是我正在使用的版本:Xamarin.Forms v3.6.0.264807Xamarin.FFImageLoading v2.4.4.859Xamarin.FFImageLoading.Forms v2.4.4.859我知道版本必须正确才能解决此问题。我会投入更多,但我没有时间来弄清楚如何正确使用这个网站。我不断收到关于我的代码如何没有被识别为 4 个空格的错误(当它显然是 !!!!!!!!!!!!!!)。我只是想成功地解决这个问题。
查看完整描述

2 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

更新

此问题已在发行版 2.4.6.929 中得到解决。如果您遇到此错误,请更新 Xamarin Forms 和 FFImageLoading。


原始答案

您使用的 FFImageLoading 版本 (v2.4.4.859) 和 Xamarin Forms 3.6 版(以及 3.4、3.5 和 3.6 版)存在问题。

您可以在他们的 github Init exception with latest Xamarin.Forms 3.4 / 3.6上查看问题。FFImageLoading 的预发布版本 (v2.4.5.870-pre) 中有一个修复程序。

我目前知道的唯一修复是:

  1. 将 FFImageLoading 降级到之前的版本 (2.4.3.840)

  2. 降级 Xamarin 表单

  3. 使用预发布版本 FFImageLoading(v2.4.5.870-pre,或 v2.4.5.880-pre 见更新)

请注意,任何软件的预发布版本都可能不稳定,并且可能仍在开发中。 我不建议在生产环境中使用预发布版本。

更新

一位用户 (PureWeen) 在问题页面上发帖:

https://www.nuget.org/packages/Xamarin.FFImageLoading/2.4.4.859

  • 与 3.4、3.5 和 3.6、4.0 pre(*) 的最新版本不兼容


https://www.nuget.org/packages/Xamarin.FFImageLoading/2.4.4.859和https://www.nuget.org/packages/Xamarin.FFImageLoading/2.4.5.880-pre 之前的所有 2.4.5 版本 都兼容和:


https://www.nuget.org/packages/Xamarin.FFImageLoading/2.4.5.880-pre

  • 兼容3.4、3.5、3.6最新版本


https://www.nuget.org/packages/Xamarin.FFImageLoading/2.4.5.870-pre

  • 与 XF 3.6.0.264807 兼容


Include prerelease您可以通过选中 VisualStudio 中的复选框从 NuGet 获取预发布版本:

//img1.sycdn.imooc.com//637083170001203604890071.jpg


查看完整回答
反对 回复 2022-11-13
?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

您也可以同时使用以下代码修复它。


--MainActivity.cs--


 var handler = new HttpClientHandler();

            handler.ClientCertificateOptions = ClientCertificateOption.Manual;

            handler.ServerCertificateCustomValidationCallback =

                (httpRequestMessage, cert, cetChain, policyErrors) => true;


            var client = new HttpClient(handler);

            ImageService.Instance.Initialize(new Configuration

            {

                HttpClient = client

            });


查看完整回答
反对 回复 2022-11-13
  • 2 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信