2015-10-19 41 views
1

有人知道更新我Xamarin形成了從1.4到1.5我收到此錯誤後:Xamarin.Forms - 「jobject」絕不能IntPtr.Zero上PushAsync

System.ArgumentException:「jobject」一定不能IntPtr.Zero

完整的堆棧錯誤:

10-19 06:47:47.893 D/Mono (3675): Searching for '__android_log_print'. 
10-19 06:47:47.896 I/MonoDroid(3675): at Android.Views.ActionMode/ICallbackInvoker.n_OnActionItemClicked_Landroid_view_ActionMode_Landroid_view_MenuItem_ (intptr,intpt10-19 06:47:47.893 D/Mono (3675): Probing '__android_log_print'. 
10-19 06:47:47.893 D/Mono (3675): Found as '__android_log_print'. 
10-19 06:47:47.894 I/MonoDroid(3675): UNHANDLED EXCEPTION: 
10-19 06:47:47.896 I/MonoDroid(3675): System.ArgumentException: 'jobject' must not be IntPtr.Zero. 
10-19 06:47:47.896 I/MonoDroid(3675): Parameter name: jobject 
10-19 06:47:47.896 I/MonoDroid(3675): at Android.Runtime.JNIEnv.CallVoidMethod (intptr,intptr) [0x00010] in /Users/builder/data/lanes/2058/58099c53/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:546 
10-19 06:47:47.896 I/MonoDroid(3675): at Android.Views.ActionModeInvoker.Finish() [0x0002d] in /Users/builder/data/lanes/2058/58099c53/source/monodroid/src/Mono.Android/platforms/android-22/src/generated/Android.Views.ActionMode.cs:804 
10-19 06:47:47.896 I/MonoDroid(3675): at Xamarin.Forms.Platform.Android.CellAdapter.OnActionItemClicked (Android.Views.ActionMode,Android.Views.IMenuItem) <IL 0x00008, 0x00044> 
10-19 06:47:47.896 I/MonoDroid(3675): at Android.Views.ActionMode/ICallbackInvoker.n_OnActionItemClicked_Landroid_view_ActionMode_Landroid_view_MenuItem_ (intptr,intptr,intptr,intptr) [0x00019] in /Users/builder/data/lanes/2058/58099c53/source/monodroid/src/Mono.Android/platforms/android-22/src/generated/Android.Views.ActionMode.cs:89 
10-19 06:47:47.896 I/MonoDroid(3675): at (wrapper dynamic-method) object.ecb01028-fd89-41d7-b184-af818f2dde3e (intptr,intptr,intptr,intptr) <IL 0x0001d, 0x00037> 
10-19 06:47:47.899 W/art  (3675): JNI RegisterNativeMethods: attempt to register 0 native methods for md52ce486a14f4bcd95899665e9d932190b.JavaProxyThrowable 
10-19 06:47:47.900 D/AndroidRuntime(3675): Shutting down VM 

這似乎當我試圖做到這一點:

await App.MyTabbedPageMenu.orderNavigationPage.PushAsync(new DetalhesPedidoView(webPedidoModel)); 

只有在Android上出現IOS才能正常工作。

感謝

+0

能否請您解釋您的設置多一點。你如何從TabbedPageMenu轉到一個NavigationPage。 –

+0

嗨@Adam我有一個TabbebPage的權利?我在我的App.cs中有變量,因爲我需要在我的選項卡中進行更改。每個選項卡都有一個NavigationPage和ContentPage或CarouselPages。 在這種情況下,我有我的導航實例和我的tabbedpage,所以我只需要做的是pushAsync我的新頁面顯示,但我不知道爲什麼這個錯誤只出現在Android上 –

回答

2

由於託本·克魯斯從Xamarin論壇是回答這個問題,推動頁面之前解決了這個問題

await Task.Yield() 

更多的相關信息:https://forums.xamarin.com/discussion/54112/jobject-must-not-be-intptr-zero-on-pushasync

+2

很高興看到你有一個解決方案。這些'jobject'不能是IntPtr.Zero在Xamarin中很常見,並且很難追蹤。賈森史密斯曾經說過,他將其作爲解決所有問題的個人使命:) –

0

await Task.Yield()是一個選項一段時間也沒有工作,在我的情況下,它解決後收集垃圾

GC.collect();