Deleting a selected item on ListView in javafx -


i have listview items, , developed delete function deletes item. problem im facing when delete item, item below gets deleted well.

to give better understanding. ex:

if have 5 items in list , select , delete "item 2", item 2 & 3 gets deleted. , items 1, 4 & 5 remains on list view. if delete last item on list item gets deleted , java.lang.indexoutofboundsexception: index: 0, size: 0

here code:

    public void handledeletebutton() {     btndelete.setonaction(new eventhandler<actionevent>() {         @override         public void handle(actionevent event) {             final int selectedidx = playerlist.getselectionmodel().getselectedindex();             if (selectedidx != -1) {                 string itemtoremove = playerlist.getselectionmodel().getselecteditem();                  final int newselectedidx =                         (selectedidx == playerlist.getitems().size() - 1)                                 ? selectedidx - 1                                 : selectedidx;                  playerlist.getitems().remove(selectedidx);                 playerlist.getselectionmodel().select(newselectedidx);                 //removes player array                 system.out.println("selectidx: " + selectedidx);                 system.out.println("item: " + itemtoremove);                 players.remove(selectedidx);              }         }     }); } 

i want selected item deleted. how do that? , how make table multi selectable?

players list of players used in listview.

you remove 2 items list using following lines:

playerlist.getitems().remove(selectedidx);         // ^ should return players players.remove(selectedidx); 

remove 1 of them.

to allow multiple selection, set multipleselectionmodel.selectionmode selectionmode.multiple.


Comments