1
我想觸發一些代碼,當一個名爲EventShowable的對象已在observableList中修改時。 這是我的代碼。Java ListChangeListener WasUpdated()不起作用
mainApp.getCalendars().get(i).getListEvents().addListener(new ListChangeListener<EventShowable>() {
@Override
public void onChanged(ListChangeListener.Change<? extends EventShowable> c) {
while (c.next()) {
if (c.wasUpdated()) {
//this doesn't work.
//perform updated
}
if (c.wasAdded()){
//perform something }
wasAdded()執行得很好,但不是wasUpdate()。 如何獲取某個EventShowable被修改後的工作?由於
P.S:在JavaDoc: 公共布爾wasUpdated() 表示GETFROM()(含)到會過()獨家之間的要素髮生了變化。 這是唯一可選的事件類型,可能不會被所有ObservableLists觸發。 https://docs.oracle.com/javase/8/javafx/api/javafx/collections/ListChangeListener.Change.html#wasUpdated--
謝謝,我的EventShowable只包含屬性。但我必須把ObservableList listEvents = ...的代碼放在哪裏?在我的EventShowable類中或在c.wasAdded()附近的代碼中?我不明白這段代碼是做什麼的。 –
2015-04-06 00:03:30