【问题标题】:How to know from ListChangeListener.Change about which elements were removed?如何从 ListChangeListener.Change 中知道哪些元素被删除了?
【发布时间】:2014-06-03 11:11:56
【问题描述】:

ObservableList 是按性质排序的,大多数访问和报告都是基于索引的。但突然,在报告移除情况时,他们转而采用基于价值的方法。

为什么?

我有第二个列表,它带有 ObservableList 的附加信息,并希望使其与 ObservableList 保持同步。我可以跟踪排列、更新和添加,但我无法跟踪删除。

为什么?

如何知道 ObservableList 中移除元素的索引?有可能吗?

JavaFX 8 文档在这里:http://docs.oracle.com/javase/8/javafx/api/javafx/collections/ListChangeListener.Change.html

更新

假设我有 ObservableList,它包含 5 个结果相同的值,例如字符串“person”、“person”、“person”、“person”、“person”。现在我删除了最后三个人。如果getRemoved() 只显示三个值,我怎么知道最后 3 个人被删除?

【问题讨论】:

    标签: java javafx observablelist


    【解决方案1】:

    我发现在删除时,getFrom() 方法包含删除的起始索引,getRemovedSize() 方法给出了从该索引删除元素的数量。这些信息足以修改同步列表。

    【讨论】:

    • 如果在观察列表上调用 removeAll(o) 方法会怎样?您的基于索引的方法是否仍然有效?
    猜你喜欢
    • 2019-10-28
    • 1970-01-01
    • 2021-01-09
    • 1970-01-01
    • 2019-01-04
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多