System.MissingMethodException:Method' Android.Support.V4.Widget.DrawerLayout.AddDrawerListener'未找到

时间:2016-10-17 08:37:15

标签: c# android xamarin

首先,我在一周前开始使用C#和Xamarin开发Android,并且我遇到了这个问题。

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

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

  1. 在开始使用Android_Accelerated_x86 (Android 6.0 -API 23)进行调试之前,Visual Studio开始查找NavigationPageRenderer但是不在那里我获得上面的消息标题

  2. 我使用Android SDK Manager安装和更新了包,如下所示

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

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

    所以,我努力寻找解决方案和

    1. 我下载了 JDK 1.8.0_101 并更改了Java Development Kit Location的路径(在Tools> Option> Xamarin> Android Setting中),但它没有用。我收到了与上面标题相同的信息。

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

        

      错误:android.support.v7.internal.widget不存在。

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

      加载项目时

    IDE0006遇到错误。某些项目功能(例如失败项目的完整解决方案分析和依赖它的项目)已被禁用

    和...我收到了上面标题的消息。

  5. 我还有两个' Call Stack'

    0x23 in Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.OnAttachedToWindow at NavigationPageRenderer.cs
    
    0xA in Android.Views.View.n_OnAttachedToWindow at Android.Views.View.cs:
    
  6. 请帮我解决这个问题...非常感谢您的关注

1 个答案:

答案 0 :(得分:5)

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

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

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

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