首先,我一周前开始使用 C# 和 Xamarin 开发 Android,但我陷入了这个问题。
我已经在 Stack Overflow 中找到了几篇文章,但遗憾的是没有用。
为了解决这个问题,我采取了一些措施。
在执行以下操作之前,当我开始使用
Android_Accelerated_x86
(Android 6.0 -API 23) 进行调试时,Visual Studio 开始查找NavigationPageRenderer
但不在那里然后我得到上面的消息标题我使用 Android SDK 管理器安装和更新包,如下所示
然后,我遇到了标题上写的留言
System.MissingMethodException: Method Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found
于是,我苦苦寻找解决办法
我下载了 JDK 1.8.0_101 并更改了 Java 开发工具包位置的路径(在“工具”>“选项”>“Xamarin”>“Android 设置”中),但没有成功。我收到了与上面标题相同的消息。
我转到“工具”>“NuGet 包管理器”>“管理解决方案的 NuGet 包”并仅更新了 Xamarin.Forms v2.3.2.127。然后我得到了 7 个错误。其中之一是
Error: package
android.support.v7.internal.widget
does not exist.
然后我删除了解决方案并使用 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
然后...我收到了如上标题的消息。
我还有两个“调用堆栈”
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 及更高版本中得到修复。
关于c# - 系统.MissingMethodException : Method 'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40081826/