繁体   English   中英

JavaFx TableView itemProperty 不通知 ChangeListener

[英]JavaFx TableView itemProperty does not notifies ChangeListener

我的 TableView 元素有问题。 我添加这样的监听器:

HardwareIdTableView.getItems().addListener(
        (ListChangeListener.Change<? extends FirmwareData.HardwareIdWrapper> change) -> {
            checker.hardwareIdCompleted.setValue(change.getList().size() > 0);
        });

checker.hardwareIdCompleted是 BooleanProperty。 我检查了调试器,并将新项目添加到 TableView,但hardwareIdCompleted仍然拒绝“false”。

PS我像这样向TableView添加项目:

public void addHardwareKey(HardwareIdKeyT key) {
    ObservableList<FirmwareData.HardwareIdWrapper> idKeys = HardwareIdTableView.getItems();

    if (idKeyEditSelected != null) {
        fwData.removeHardwareIdKey(idKeyEditSelected.getIdPattern());
        idKeys.remove(idKeyEditSelected);
    }

    if (!idKeys.contains(key)) {
        HardwareIdTitledPane.pseudoClassStateChanged(PseudoClass.getPseudoClass("pane-error"), false);
        idKeys.add(new FirmwareData.HardwareIdWrapper(key));
        fwData.addHardwareIdKey(key);
    }
}

错误是直接的 - 我的重置功能将新列表分配给了 TableView。 由于侦听器已分配给旧项目列表,因此在我预期时不会收到通知。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM