1
我是新来的xamarin,我一直在寻找一种方式来选择ListView中的项目,并更改该行的颜色,让用户知道哪一行是选择。下面是我得到Xamarin Android ListView选择项目和更改行颜色
private void FormsListViewOnItemClick(object sender, AdapterView.ItemClickEventArgs itemClickEventArgs)
{
_cicoListView.SetItemChecked(itemClickEventArgs.Position, true);
for (var i = 0; i < _ciCos.Count; i++)
{
if (itemClickEventArgs.Position == i)
{
_selectedId = ((CicoModel)_cicoListView.Adapter.GetItem(i)).Pk;
//_formsListView.SetItemChecked(itemClickEventArgs.Position, true);
}
_cicoListView.GetChildAt(i)?.SetBackgroundColor(itemClickEventArgs.Position == i ? Color.LightGray : Color.Transparent);
}
}
这种方法是该项目的点击处理程序
_cicoListView.ItemClick += FormsListViewOnItemClick;
我唯一的问题是,当我向下滚动,其他项目都选择了太多,因为(这是我最好的猜测)列表视图可以回收行和位置。先谢谢您的帮助。