// trigger update changes when the property changes ObservableList<Item> list = FXCollections.observableArrayList(e -> new Observable[]{e.propertyProperty()}); list.addAll(new Item(), new Item()); Listener listener = new Listener(); list.addListener(listener); System.out.println(listener.isChanged()); list.get(0).setProperty(""); System.out.println(listener.isChanged()); listener.resetChanged(); list.get(1).setProperty(1); System.out.println(listener.isChanged()); listener.resetChanged(); list.add(new Item()); System.out.println(listener.isChanged());