这是JavaFX。
我有一个名为 tableView 的 TableView,其项目是一个名为 dataList 的非空 ObservableList。TableView 通过调用 tableView.setItems(dataList); 包含了 dataList;然后,我向 tableView.getItems() 添加了一个名为 listChangeListener 的 ListChangeListener。调用是 tableView.getItems().addListener(listChangeListener);
tableView.setItems(dataList);
tableView.getItems().addListener(listChangeListener);
现在,每当更改 dataList 时,我注意到 listChangeListener 不会被调用。但是tableView的内容变成了dataList的内容。为什么会这样?如何仅使用 tableView 或 tableView 本身的变量来检测更改?
笔记:
我不想调用 dataList.addListener(listChangeListener) 因为我希望能够调用 tableView.setItems(anotherDataList); 在某一点。
我也尝试使用 itemsProperty().addListener(aDifferentListener); 但是出现了另一个问题,其中监听器也没有被调用。