1

我有一个 zul,它有两个依赖的组合。当第一个组合 (cb_empresa_detalle) 的项目被选中时,第二个组合 (cb_agente_detalle) 会加载其项目。

在我的控制器中,我有以下代码:

@EventHandler("cb_empresa_detalle.onSelect")
public void loadAgentes(Event evt) throws WrongValueException,
        InterruptedException {
    if (cb_empresa_detalle.getSelectedItem() != null) {
        idEmpresa = (String) cb_empresa_detalle.getSelectedItem()
                .getValue();
//          cb_agente_detalle.getChildren().clear();
        cb_agente_detalle.getItems().clear();

    (...)

当我在第一个组合中签入不同的项目时,此代码会在行中引发 ConcurrenModificationException(我尝试了以下两个选项):

cb_agente_detalle.getChildren().clear(); // is now comented
cb_agente_detalle.getItems().clear();

另外,我试过这个:

while (cb_agente_detalle.getItemCount() > 0) {
cb_agente_detalle.removeChild(cb_agente_detalle.getFirstChild());               
}

任何的想法?

4

1 回答 1

0

当您在使用迭代器对其进行迭代时尝试从集合中删除项目时,会引发 ConcurrentModificationException。

只要确保不是这种情况。

于 2011-10-07T09:50:06.823 回答