Я не знаю, kotlin, но ответ должен быть простым для перевода.
Вам нужно использовать 'экстрактор', чтобы справиться с этим, используя:
FXCollections#observableArrayList(Callback<E, Observable[]> extractor)
Например:
ObservableList<A> list = FXCollections.observableArrayList(item -> new Observable[] {item.durationProperty});
list.addListener((InvalidationListener) observable -> {
//Update you sum here
});
Экстрактор вызывает любые изменения в указанном наблюдаемом массиве каждого элемента в списке, чтобы инициировать как InvalidationListener, так и ListChangeListener списка.