c# - 系统.MissingMethodException : Method 'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found

标签 c# android xamarin

首先,我一周前开始使用 C# 和 Xamarin 开发 Android,但我陷入了这个问题。

我已经在 Stack Overflow 中找到了几篇文章,但遗憾的是没有用。

为了解决这个问题,我采取了一些措施。

  1. 在执行以下操作之前,当我开始使用 Android_Accelerated_x86 (Android 6.0 -API 23) 进行调试时,Visual Studio 开始查找 NavigationPageRenderer但不在那里然后我得到上面的消息标题

  2. 我使用 Android SDK 管理器安装和更新包,如下所示

  3. 然后,我遇到了标题上写的留言

    System.MissingMethodException: Method
    Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found
    

    于是,我苦苦寻找解决办法

    1. 我下载了 JDK 1.8.0_101 并更改了 Java 开发工具包位置的路径(在“工具”>“选项”>“Xamarin”>“Android 设置”中),但没有成功。我收到了与上面标题相同的消息。

    2. 我转到“工具”>“NuGet 包管理器”>“管理解决方案的 NuGet 包”并仅更新了 Xamarin.Forms v2.3.2.127。然后我得到了 7 个错误。其中之一是

      Error: package android.support.v7.internal.widget does not exist.

  4. 然后我删除了解决方案并使用 Xamarin.Forms 创建了新项目我收到了如下警告消息

    IDE0006 Error encountered while loading the project. Some project features, such as full solution analysis for the failed project and projects that depend on it, have been disabled

    然后...我收到了如上标题的消息。

  5. 我还有两个“调用堆栈”

    0x23 in Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.OnAttachedToWindow at NavigationPageRenderer.cs
    
    0xA in Android.Views.View.n_OnAttachedToWindow at Android.Views.View.cs:
    

请帮我解决这个问题...非常感谢您的关注

最佳答案

发生此问题是因为 Google 更改了他们的支持库,您在其中将此监听器从 SetDrawerListener() 连接到 AddDrawerListener()。因此,您需要确保使用最新的稳定 Xamarin.Forms。依赖于 <Android.Support 23.3 的 Xamarin.Forms 的早期版本将抛出此错误。您可以引用此提交以获取更多详细信息:

https://github.com/xamarin/Xamarin.Forms/commit/d9ed63f0add8345cf6ab1508b353dcbdacbcd97c

理想情况下,这应该在 Xamarin.Forms 版本 2.2.0.31 及更高版本中得到修复。

https://www.nuget.org/packages/Xamarin.Forms/

关于c# - 系统.MissingMethodException : Method 'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40081826/

相关文章:

c# - Expression-Bodied Function 与 Auto Properties 结合会导致问题

android - 在 flutter 中实现 Play Asset Delivery

android - 如何为 maven-android-plugin 项目使用外部 settings.xml 中的 maven 设置?

android - 在 GCMBaseIntentService 中显示 toast

xamarin - 如何在Xamarin表单中使用单选按钮

c# - 选择投影中的索引

c# - Asp.net 2.0 和 c# 3.0?

c# - 什么是控制反转/面向方面意义上的 .NET 代理对象?

c# - 如何使用 openURL() 读取在 safari 中打开的 html 文件

android - Xamarin 初学者 + 独立 VS 2015