我有这段代码:
table = initTable(); // TableView<Row>
list = initList(); // ObservableList<Row>
slist = new SortedList<>(list, (r1, r2) -> {
return Integer.compare(r1.id.get(), r2.id.get());
});
table.setItems(slist);
当我向列表添加新行时,排序工作完美。 但是当某些行发生变化时如何使用列表,例如:
Row row = getSomeRowFromList();
row.setNewId(100);
我需要在这段代码之后求助。我发现只有一个解决方案它是tableview中的重新启动列表:
table.setItems(list);
FXCollections.sort(table.getItems(), (r1, r2) -> {
return -Integer.compare(r1.id.get(), r2.id.get());
});
在我改变一些项目之后,如何强制求助列表似乎是错误的?