【问题标题】:xamarin mutli selection listviewxamarin 多选择列表视图
【发布时间】:2017-03-15 18:30:34
【问题描述】:

我一直在尝试解决我的问题,但我没有找到它......所以我正在寻求你的帮助。

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

我会直截了当,如果你有什么问题,尽管问我。

所以我有一个列表视图,我可以在其中选择 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.View.SetBackgroundColor”时并没有改变好事,但我尝试了很多从未奏效的东西。 顺便说一句,我可能不会以最好的方式去做我想做的事情。

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

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

【问题讨论】:

    标签: android listview xamarin listviewitem


    【解决方案1】:

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

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

    【讨论】:

    • 嘿,感谢您的快速回答!我试图找到 ViewHolder 系统但我没有找到它。你认为它可能在哪个文件中,因为在我的适配器类中我没有使用 ViewHolder。那么这是自动设置并且您需要删除的东西吗?谢谢
    • 在阅读您的评论后,我尝试在自定义适配器中找到一个 anwser,然后我找到了!知道它工作正常,我的意思是它做我想要的(也许不是开发的好方法......)。现在我遇到了一个新问题,但比第一个问题更难,这只是当我适应时,卷轴会自动上升到顶部,而不是停留在我在卷轴中的位置。你有一个想法如何删除它?我会搜索到我的身边
    • 好的,如果你找到了你会搜索的解决方案,请给答案投票
    • 感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 2019-08-14
    • 1970-01-01
    相关资源
    最近更新 更多