Android 在上下文操作中使用导航会引发异常

Android 在上下文操作中使用导航会引发异常,android,listview,xamarin,xamarin.forms,Android,Listview,Xamarin,Xamarin.forms,我对listview有问题。VM上有一个命令将我带到另一个页面(导航服务基本上是NavigationPage.PushAsync)。单击工具栏上的“添加”时没有问题,但单击上下文操作会引发异常。它只发生在Android、iOS和WP上,工作正常。我用的是Xamarin表格1.5.0.6447。这是Xamarin臭虫吗?有什么解决办法吗 代码如下所示: public Page1() { InitializeComponent(); listView.ItemsSource = ne

我对listview有问题。VM上有一个命令将我带到另一个页面(导航服务基本上是NavigationPage.PushAsync)。单击工具栏上的“添加”时没有问题,但单击上下文操作会引发异常。它只发生在Android、iOS和WP上,工作正常。我用的是Xamarin表格1.5.0.6447。这是Xamarin臭虫吗?有什么解决办法吗

代码如下所示:

public Page1()
{
    InitializeComponent();
    listView.ItemsSource = new List<string>() {"Item1", "Item2", "Item2"};
}

private void MenuItem_OnClicked(object sender, EventArgs e)
{
    App.Current.MainPage.Navigation.PushAsync(new Page2());
}
publicpage1()
{
初始化组件();
listView.ItemsSource=新列表(){“Item1”、“Item2”、“Item2”};
}
private void MenuItem_OnClicked(对象发送方,事件参数e)
{
App.Current.MainPage.Navigation.PushAsync(新的Page2());
}



9-29 08:51:49.395 I/MonoDroid(367):未处理的异常:
09-29 08:51:49.400 I/MonoDroid(367):System.ArgumentException:“jobject”不能为IntPtr.Zero。
09-29 08:51:49.400 I/MonoDroid(367):参数名称:jobject
09-29 08:51:49.400 I/MonoDroid(367):在Android.Runtime.JNIEnv.CallVoidMethod(intptr,intptr)
09-29 08:51:49.400 I/MonoDroid(367):在Android.Views.ActionModeInvoker.Finish()上
09-29 08:51:49.400 I/MonoDroid(367):在Xamarin.Forms.Platform.Android.cellladapter.OnActionItemClicked(Android.Views.ActionMode,Android.Views.IMenuItem)
09-29 08:51:49.400 I/MonoDroid(367):在Android.Views.ActionMode/ICallbackInvoker.n_OnActionItemClicked\u Landroid\u view\u ActionMode\u Landroid\u view\u MenuItem(intptr,intptr,intptr,intptr,intptr)
09-29 08:51:49.400 I/MonoDroid(367):at(包装器动态方法)object.a3e64c2b-1708-4b07-8091-f8943a9b230f(intptr,intptr,intptr,intptr)
09-29 08:51:49.410 W/art(367):JNI注册活动方法:尝试为md52ce486a14f4bcd95899665e9d932190b注册0个本机方法
添加:

await Task.Yield();

在Navigation.PushAsync帮助之前。

需要更多的代码来尝试解决此问题。菜单项上的绑定看起来很奇怪。看起来您的ListView绑定到了一个项目列表,其中每个项目都有一个BindingContext设置,该设置包含AddCommand的实现。@David这不是问题所在。我简化了代码并添加了bug报告:很高兴您将其隔离
9-29 08:51:49.395 I/MonoDroid(  367): UNHANDLED EXCEPTION:
09-29 08:51:49.400 I/MonoDroid(  367): System.ArgumentException: 'jobject' must not be IntPtr.Zero.
09-29 08:51:49.400 I/MonoDroid(  367): Parameter name: jobject
09-29 08:51:49.400 I/MonoDroid(  367): at Android.Runtime.JNIEnv.CallVoidMethod (intptr,intptr) <IL 0x0001f, 0x000c8>
09-29 08:51:49.400 I/MonoDroid(  367): at Android.Views.ActionModeInvoker.Finish () <IL 0x00038, 0x0013f>
09-29 08:51:49.400 I/MonoDroid(  367): at Xamarin.Forms.Platform.Android.CellAdapter.OnActionItemClicked (Android.Views.ActionMode,Android.Views.IMenuItem) <IL 0x0001e, 0x00127>
09-29 08:51:49.400 I/MonoDroid(  367): at Android.Views.ActionMode/ICallbackInvoker.n_OnActionItemClicked_Landroid_view_ActionMode_Landroid_view_MenuItem_ (intptr,intptr,intptr,intptr) <IL 0x0001c, 0x00153>
09-29 08:51:49.400 I/MonoDroid(  367): at (wrapper dynamic-method) object.a3e64c2b-1708-4b07-8091-f8943a9b230f (intptr,intptr,intptr,intptr) <IL 0x0001d, 0x00053>
09-29 08:51:49.410 W/art     (  367): JNI RegisterNativeMethods: attempt to register 0 native methods for md52ce486a14f4bcd95899665e9d932190b.JavaProxyThrowable
await Task.Yield();