如何从ListChangeListener.Change了解哪些元素被删除? [英] How to know from ListChangeListener.Change about which elements were removed?

查看:508
本文介绍了如何从ListChangeListener.Change了解哪些元素被删除?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

ObservableList is ordered by nature and most access and reportings are index-based. But suddenly, when reporting about removements, they switched to value-based approach.

为什么?

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

I have second list, which is carrying additional information for ObservableList and want to keep it in sync with ObservableList. I can track permutations, updatings and additions, but I can't track removements.

为什么?

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

How to know the indices of removed elements from ObservableList? Is it possible?

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

JavaFX 8 doc is here: http://docs.oracle.com/javase/8/javafx/api/javafx/collections/ListChangeListener.Change.html

更新

假设我有 ObservableList 其中包含5个相应的相同值,例如字符串person,person,person,person,person。现在我删除了3个最后的人。如果 getRemoved() 只会显示三个值?

Suppose I have ObservableList, which is containing 5 consequent identical values, for example, strings "person", "person", "person", "person", "person". Now I remove 3 last persons. How can I know that namely last 3 persons removed, if getRemoved() will show me just three values?

推荐答案

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

I found that on delete, the method getFrom() contains the starting index of deletion, and the method getRemovedSize() gives the number of deleted elements from that index. This information is enough to modify synched list.

这篇关于如何从ListChangeListener.Change了解哪些元素被删除?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆