2011-10-07 101 views
1

我有一個ZUL至少有兩個從屬組合。當選中第一個組合(cb_empresa_detalle)的項目時,第二個組合(cb_agente_detalle)加載其項目。ConcurrenModificationException與2個依賴組合(ZK框架)

在我的控制器我有這樣的代碼:

@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(我嘗試以下兩個選項),當我檢查在第一個組合diferent項目:

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());    
} 

任何想法?

回答

0

當您使用迭代器在迭代集合中嘗試從集合中刪除項目時,會引發ConcurrentModificationException。

只要確保它不是這種情況。