在我的应用程序中,我需要在用户按下按钮时添加到计数器,计数器应该更新。我试过LongClick,这很好用:
productAddButton.LongClick += async (s,e) =>
{
while (productAddButton.Pressed)
{
item.count++;
await System.Threading.Tasks.Task.Delay(100);
ShoppingCardItemCount.Text = item.count.ToString();
}
};
但问题是这个productAddButton
位于ListView
项目中,我需要更新列表适配器中的项目视图。当我将NotifyDataSetChanged
添加到上面的代码时,while循环在第二次运行后突然退出!
productAddButton.LongClick += async (s,e) =>
{
while (productAddButton.Pressed)
{
item.count++;
await System.Threading.Tasks.Task.Delay(100);
ShoppingCardItemCount.Text=item.count.ToString();
NotifyDataSetChanged();
}
};
我认为这是因为ListView
在通知数据已被更改后重新创建该项目。所以实际上我触摸的按钮消失了,另一个按钮对象被替换了。整个项目实际上被另一个项目取代。那么我该如何处理这个问题呢?因为我的应用程序中确实需要此功能。
感谢您的任何建议。