我有一个列表,其中包含一些用户选择的项目。我的CustumCellViewTemplate有一个“取消选择”控件,它从列表中删除单元格。当列表完全填充项目时,“取消选择”控件可以工作,但是当我想删除最后一项或者最后一项出现在ListView中时,我得到了这个例外:
"System.NullReferenceException: Object reference not set to an instance of an object.
at Xamarin.Forms.Platform.Android.ListViewAdapter.IsEnabled (System.Int32 position) [0x0002a] in D:\a\1\s\Xamarin.Forms.Platform.Android\Renderers\ListViewAdapter.cs:413
at Android.Widget.BaseAdapter.n_IsEnabled_I (System.IntPtr jnienv, System.IntPtr native__this, System.Int32 position) [0x00008] in <263adecfa58f4c449f1ff56156d886fd>:0
at (wrapper dynamic-method) System.Object.389216aa-a260-49e0-aaaa-e4e2031ad22f(intptr,intptr,int)"
这是我的配置:
Mono 8.1
Xamarin.Forms 3.3.0.893527-pre3
Xamarin.Android.Support.Design 27.0.2.1
Xamarin.Android.Support.v7.AppCompat 27.0.2.1
Xamarin.Android.Support.v4 27.0.2.1
Xamarin.Android.Support.v7.CardView 27.0.2.1
Xamarin.Android.Support.v7.MediaRouter 27.0.2.1
Xamarin.GooglePlayServices.Location 60.1142.1
Xamarin.GooglePlayServices.Maps 60.1142.1
Xamarin.Essentials 0.10.0-preview
你知道如何解决这个问题吗?
问候
你可能现在已经解决了你的问题,但只是把这个问题留给了其他碰到这个问题的人。
感谢Jason的问题,它引导我清理我对列表视图逻辑的可绑定项源的操作。我做了很多.Clear()和Add,我不需要做。我减少了这些数量,它为我解决了问题。所以我会看看你是如何搞乱列表视图的ItemSource的。
我在ListView
与TabbedPage
面对这一点,所以在更改标签时我正在重置ItemSource
的Listview
,解决了我的问题
protected void OnCurrentPageChanged()
{
if (Children != null && CurrentPage != null)
{
list1.ItemsSource = null;
list2.ItemsSource = null;
list3.ItemsSource = null;
SelectedTabIndex = Children.IndexOf(this.CurrentPage);
if (SelectedTabIndex == 0)
list1.ItemsSource = TimeTableListData;
if (SelectedTabIndex == 1)
list2.ItemsSource = TimeTableListData;
if (SelectedTabIndex == 2)
list3.ItemsSource = TimeTableListData;
}
}