【发布时间】:2018-12-13 18:49:16
【问题描述】:
我一直在尝试删除 javafx 中列表视图中选定项目以外的所有项目。我已经编写了以下代码。它有时有效,有时无效。我无法弄清楚我的错误。任何帮助将不胜感激!
try {
int i = 0;
while (!listName.getItems().equals(listName.getSelectionModel().getSelectedItems())) {
if (listName.getSelectionModel().isSelected(i) == false) {
listName.getItems().remove(i);
i--;
}
i++;
}
} catch (Exception e) {
e.printStackTrace();
}
【问题讨论】:
-
你的计数器的目的是什么?
-
@KeyMaker00 应该很明显:它是测试删除的索引。如果选择了索引,则代码应该遍历列表的索引和每次索引检查,如果未选择索引,则删除索引
i处的项目。 -
@fabian:没错,所以变量也应该表达这个意图(代码味道)。 (+1 供您解释)