Problems with selected indices in listview

前端 未结 3 862
天涯浪人
天涯浪人 2021-01-15 18:21

I have an arraylist which contain objects of my own class. I want to fetch the object from the array list which has the index = selectedindex of listview.

I tried th

相关标签:
3条回答
  • 2021-01-15 18:54

    Put this line before your code -

    if(listView1.SelectedIndices.Count > 0)
    {
       TrackInformation t=(TrackInformation) SongList[listView1.SelectedIndices[0]];
    }
    
    0 讨论(0)
  • 2021-01-15 19:02

    The ListView.SelectedIndexChanged event has a quirk that bombs your code. When you start your program, no item is selected. Click an item and SelectedIndexChanged fires, no problem. Now click another item and the event fires twice. First to let you know, unhelpfully, that the first item is unselected. Then again to tell you that the new item is selected. That first event is going to make you index an empty array, kaboom. RV1987's snippet prevents this.

    0 讨论(0)
  • 2021-01-15 19:07

    The error is because listView1.SelectedIndices is empty, do you have a row selected?

    you probable want to wrap in a test

    ListView.SelectedIndexCollection selected=listView1.SelectedIndicies;
    
    if (selected.Count==0) {
     // code for no items selected
    } else {
      TrackInformation t=(TrackInformation) SongList[selected[0]]; 
      // rest of code to deal with t
    }
    
    0 讨论(0)
提交回复
热议问题