我已经有一段时间想要解决我的问题,但我没有找到它......所以我正在寻找你的帮助。
我在xamarin上制作一个Android应用程序,但我不使用Xamarin.Forms(如果我在开始项目时知道它,我会使用它
我会直截了当地说,如果你有疑问,请问我。
所以我有一个Listview,我可以选择2个或更多项目:
private void _listViewIntervention_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
_intervention[e.Position].IsSelected = !_intervention[e.Position].IsSelected;
if (_intervention[e.Position].IsSelected)
e.View.SetBackgroundColor(Android.Graphics.Color.Rgb(255, 127, 127));
else
e.View.SetBackgroundColor(Android.Graphics.Color.Rgb(230, 230, 230));
_numberInterventionSelected.Text = _intervention.FindAll(elem => elem.IsSelected == true).Count().ToString();
}
那件事有效,但如果我有一个包含20个项目的列表视图,即我选择了3个项目,如果我滚动列表视图,一切都会打扰,我的3个突出显示的行将不再存在,突出显示将在另一行我永远不会选择。
我认为不是那么明显而且可能会模糊不清。
IMO我在做“e.SView.SetBackgroundColor”时并没有改变好事,但我尝试了很多从未奏效的东西。 我可能不会以最好的方式去做我想做的事。
我想要的结果是当我滚动列表视图时,没有任何改变,所以我可以选择列表视图的第一项和最后一项,即
我再次在我身边搜索,但我知道你知道一点点... 感谢您阅读并度过美好的一天!
答案 0 :(得分:1)
经过大量搜索后我已经遇到了同样的问题并找到了解决方案
在Xamarin自定义适配器中删除ViewHolder系统,删除Holder系统后它正常工作