我需要在 JavaFX 的 MultipleSelectionMode 中获取 ListView 的最后一个选定项目。我的代码在下面,但它没有给我最后选择的项目。它似乎从所选项目中随机给出一个项目。
addDocumentPagesListView.getSelectionModel().getSelectedItems().addListener(new ListChangeListener<PageFile>() {
@Override
public void onChanged(ListChangeListener.Change<? extends PageFile> change) {
while (change.next()) {
if (change.wasAdded()) {
List <? extends PageFile> l = change.getAddedSubList();
Object o = l.get(l.size() - 1);
PageFile pf = (PageFile) o;
System.out.println("Showing pdf file: " + pf.getFile().getName());
}
}
}
});
最佳答案
你应该看看 selectedItemProperty
它总是指向最后选择的项目:
The selected item property is most commonly used when the selection model is set to be single selection, but is equally applicable when in multiple selection mode. When in this mode, the selected item will always represent the last selection made.
关于java - 获取 JavaFX 中 ListView 的最后一个选定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22237906/