【问题标题】:How to Add all items from a ListViewto a List<string> - Android C#如何将 ListView 中的所有项目添加到 List<string> - Android C#
【发布时间】:2017-05-21 01:00:47
【问题描述】:

我正在尝试将我的ListView 中的所有项目添加到List&lt;string&gt;

我目前正在使用foreach 循环。

代码:

 private void lvNotes_ItemSelected(object sender, AdapterView.ItemClickEventArgs e)
        {
            //Where I want the Line to be deleted!
            List<string> stringList = new List<string>();
            string line;
            foreach(line in notesList.Items)
            {
                stringList.Add(line);
            }

但我在foreach(line in listview1.Items) 循环的.Items 部分遇到错误。

为什么会这样?

更新 1:

更新 2:

即使是 foreach 循环,我仍然会遇到错误。

【问题讨论】:

    标签: c# android list listview foreach


    【解决方案1】:

    您不能简单地将列表视图项转换为字符串。每个项目都是一个ListViewItem

    要修复您的代码,您需要在 listviewitem 上使用 .Text 属性:

    List<string> stringList = new List<string>();
    foreach(var line in listview1.Items)
    {
        stringList.Add(line.Text);
    }
    

    或者干脆使用 LINQ:

    var stringList = listView1.Items.Select(i => i.Text).ToList();
    

    【讨论】:

    • notesList 来自哪里?
    • 这是针对 android 的,不是 WinForms,所以 listview1.Items 会报错
    • 您从未在任何地方定义过notesList。您从未在原始问题中提及它。我什至不知道它是什么......
    • notesList 是listview1,只是为了更容易理解而重命名,我在原来的问题里改了。
    • 如果要使用 linq,请务必将其包含在顶部:using System.Linq;
    猜你喜欢
    • 2013-07-29
    • 2014-10-10
    • 2012-12-26
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多