XAMARIN:System.ArgumentException'jobject'不能是IntPtr.Zero

时间:2014-10-30 16:41:56

标签: c# android mvvm xamarin xamarin.android

在XAMARIN中,有时当用户遍历到列表视图时使用MVVM方法我们收到错误,

System.ArgumentException: 'jobject' must not be IntPtr.Zero.
Parameter name: jobject
  at at Android.Runtime.JNIEnv.CallNonvirtualIntMethod (intptr,intptr,intptr) <IL 0x0001f, 0x000d8>
  at at Android.Views.View.get_Visibility () <IL 0x00075, 0x002a3>
  at at Xamarin.Forms.Platform.Android.VisualElementTracker.UpdateIsVisible () <IL 0x00021, 0x00127>
  at at Xamarin.Forms.Platform.Android.VisualElementTracker.HandlePropertyChanged (object,System.ComponentModel.PropertyChangedEventArgs) <IL 0x002b3, 0x010d3>
  at at (wrapper delegate-invoke) <Module>.invoke_void_object_PropertyChangedEventArgs (object,System.ComponentModel.PropertyChangedEventArgs) <IL 0x00044, 0x0009f>
  at at Xamarin.Forms.BindableObject.OnPropertyChanged (string) <IL 0x00012, 0x000c7>
  at at Xamarin.Forms.BindableObject.SetValueActual (Xamarin.Forms.BindableProperty,object,bool,bool,bool) <IL 0x000a3, 0x004f3>
  at at Xamarin.Forms.BindableObject.SetValueCore (Xamarin.Forms.BindableProperty,object,bool,bool,bool) <IL 0x00213, 0x00aeb>
  at at Xamarin.Forms.BindingExpression.ApplyCore (object,Xamarin.Forms.BindableObject,Xamarin.Forms.BindableProperty,bool) <IL 0x00206, 0x01287>
  at at Xamarin.Forms.BindingExpression.Apply (bool) <IL 0x00041, 0x0018b>
  at at Xamarin.Forms.BindingExpression/BindingExpressionPart.<PropertyChanged>b__12 () <IL 0x00007, 0x00053>
  at at Java.Lang.Thread/RunnableImplementor.Run () <IL 0x00011, 0x00097>
  at at Java.Lang.IRunnableInvoker.n_Run (intptr,intptr) <IL 0x0000a, 0x000a3>
  at at (wrapper dynamic-method) object.77d235ff-7394-41cf-b895-17e2737816c1 (intptr,intptr) <IL 0x00011, 0x0003b>

1 个答案:

答案 0 :(得分:2)

原因很少是具有空值的View-model列表Items属性,一旦我们确保填充了所有视图模型属性,就会解决此错误。