我正在尝试为ObservaleList
编写一个包装器。这需要从基础列表重新发送所有更改事件。不幸的是,我认为没有办法知道Change
中已移除元素的索引。只能使用getRemoved()
获取已删除元素的列表,并使用getRemovedSize()
知道其编号。但没有什么可以传递给ObservaleListBase#nextRemove()
有可能实现吗?
答案 0 :(得分:1)
您可以使用change.getFrom()
获取from索引,使用change.getTo()
获取to索引。例如:
ListView<String> listView = new ListView<>();
listView.getItems().addAll("test", "test2", "test3", "test2");
listView.getItems().addListener((ListChangeListener<String>) c -> {
while(c.next()) {
System.out.println(String.format("From: %d, To: %d", c.getFrom(), c.getTo()));
}
});
listView.getItems().removeAll("test2");
输出:
From: 1, To: 1
From: 2, To: 2