C# 为什么我的ListViewItem没有删除?
我有一些代码,允许用户添加一天(每天都是ListViewItem),并使用delete按钮将该天发送到自定义适配器。在适配器中,我在单击delete按钮时调用一个事件。我删除的第一项删除没有问题,但对于下一项,我得到一个NullReferenceException。我怀疑这与不正确的索引或其他东西有关 这个片段来自这个片段。它接收从适配器发送的事件。我删除的第一个项目按预期删除,但它是唯一一个C# 为什么我的ListViewItem没有删除?,c#,android,listview,events,C#,Android,Listview,Events,我有一些代码,允许用户添加一天(每天都是ListViewItem),并使用delete按钮将该天发送到自定义适配器。在适配器中,我在单击delete按钮时调用一个事件。我删除的第一项删除没有问题,但对于下一项,我得到一个NullReferenceException。我怀疑这与不正确的索引或其他东西有关 这个片段来自这个片段。它接收从适配器发送的事件。我删除的第一个项目按预期删除,但它是唯一一个 Adapter1.OnDayDeleted += (o,e) =>
Adapter1.OnDayDeleted += (o,e) =>
{
Day day = e.Day;
DM.ListOfDays.Remove(day);
Adapter1.NotifyDataSetChanged();
Adapter1 = new Adapters.DayObject(Activity, DM.ListOfDays);
ListViewDays.Adapter = Adapter1;
Helpers.Common.SetListViewHeightBasedOnChildren(ListViewDays);
};
此代码段来自适配器。它将事件发送回片段
Button buttonRemoveDay = row.FindViewById<Button>(Resource.Id.buttonRemoveDay);
buttonRemoveDay.Click += delegate
{
var day = myItems[position];
//Console.WriteLine(day.Name);
OnDayDeleted.Invoke(this, new OnDayDeletedEventArgs(day));
};
Button buttonRemoveDay=row.findviewbyd(Resource.Id.buttonRemoveDay);
按钮删除日期。单击+=委派
{
var日=我的项目[头寸];
//Console.WriteLine(日期、名称);
调用(这是新的OnDayDeletedEventArgs(day));
};
我找到了原因。把电话线拔下来
Adapter1=newadapters.DayObject(活动,DM.ListOfDays)代码>您是否在IDE中使用Xamarin?在哪一行引发NullReferenceException?删除第一个元素后,myItems集合可能会发生更改,并且位置索引可能不再有效,或者显示给一个元素,而不是原来预期的元素。在OnDayDeleted.Invoke(…)代码>我在评论中跟随了链接,它仍然是一样的。位于OnDayDelete.Invoke(…)的NullReferenceException