【发布时间】:2017-05-30 22:32:51
【问题描述】:
我是 xamarin 的新手,我一直在到处寻找一种方法来选择 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);
}
}
这个方法是item的点击处理程序
_cicoListView.ItemClick += FormsListViewOnItemClick;
我遇到的唯一问题是,当我向下滚动时,其他项目也被选中,因为(这是我的最佳猜测)列表视图会循环使用行和位置。提前感谢您的帮助。
【问题讨论】:
标签: c# listview xamarin xamarin.android