JavaFX:ListMap中的第一个ListCell在以编程方式更改时不会更新

时间:2015-08-23 04:49:43

标签: javafx-8

我正在使用Java 8u51。这真的很奇怪。我通过Observer模式更新ListCells,执行以下操作:

@Override
public void update(Observable o, Object arg) {
   cell.startEdit();
   PojoSample entry = (PojoSample) o;
   setName(entry.getName());
   cell.commitEdit(this);
}

在解决问题时,我注释掉了Observer更新,并使用for循环迭代ListView项目(顺便说一句,这些项目持有对ListCell的引用,为方便起见),做同样的事情,这是将单元格设置为编辑,然后提交编辑。

在这两种方法中,第一项永远不会更新,而列表的其余部分无论大小如何都没有更新问题。我可以确认它正确地接收了值,并且该单元实际上保存了正确的数据;它不会像它应该那样显示。

我唯一可以更改第1项的是手动编辑它。当调用重写的startEdit()方法时,我使用自定义TextField编辑单元格,该自定义TextField成为ListCell的图形。

有没有人碰到过这个?你认为这是一个错误吗?

0 个答案:

没有答案