xamarin mutli 选择列表视图

xamarin mutli selection listview

我已经有一段时间试图找到我的问题的答案,但我没有找到...所以我正在寻求你的帮助。

我在 xamarin 上工作来制作一个 android 应用程序,但我不使用 Xamarin.Forms(如果我在开始项目时知道它,我会使用它

我开门见山,有什么问题可以问我

所以我得到了一个列表视图,我可以在其中 select 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 个项目的列表视图,即 select 3 个项目,如果我滚动列表视图,一切都会被打扰,我的 3 个突出显示的行将不再存在,并且突出显示将在我从未 select 的另一行。

我认为不是很明显,而且可能比较模糊。

IMO 我在做 "e.View.SetBackgroundColor" 时并没有改变好的东西,但我尝试了很多从未奏效的东西。 顺便说一句,我可能不会以最好的方式去做我想做的事。

我想要的结果是当我滚动列表视图时,没有任何变化,所以我可以 select 列表视图的第一个和最后一个项目,即

我在身边再次搜索,但我有点依赖你知道...... 感谢阅读,祝您有美好的一天!

经过大量搜索并找到解决方案后,我已经遇到了同样的问题

在 Xamarin 自定义适配器中删除 ViewHolder 系统,它在删除 Holder 系统后工作正常