2014-01-07 38 views
0

我有一個問題在zk中選擇多個複選框。當我選擇多個數據encrypt/decrypt多列數據的列表框標題複選框,給我這個java.lang.ClassCastException,當我選擇多個listcell沒有列表標題複選框爲encrypt/decrypt它工作正常。如何解決java中的java.lang.ClassCastException?

aftercompose方法

Set<FolderInfoData> selectedFolderInfo = new HashSet<FolderInfoData>(); 

這裏selectedFolderInfo內在是我的代碼:

@Command 
@NotifyChange({ "folderInfoList", "selectedFolderInfo" }) 
public void encryptInfo() { 
    if (selectedFolderInfo == null) { 
     showError("Please select an info to Encrypt/Decrypt"); 
     return; 
    } else if (selectedFolderInfo != null && selectedFolderInfo.isEmpty()) { 
     showError("Please select an info to Encrypt/Decrypt"); 
     return; 
    } 
    List<FolderInfoRecord> folderRecord = new ArrayList<FolderInfoRecord>(); 
    for(FolderInfoData folderInfoData:selectedFolderInfo){ 
     FolderInfoRecord folderInfoRecord=folderInfoData.getFolderInforecord(); 
     folderRecord.add(folderInfoRecord); 
    } 
    try { 
     Services.folderService().encryptDecryptFolderInfoRecords(folderType, folderRecord.toArray(new FolderInfoRecord[0])); 

    } catch (FolderInfoPermissionDeniedException e) { 
     e.printStackTrace(); 
    } 

列表框:enter image description here

這裏的logcat的:

Jan 07, 2014 5:37:38 PM org.zkoss.zk.ui.impl.UiEngineImpl handleError:1359 
SEVERE: >>java.lang.ClassCastException: java.lang.String cannot be cast to com.csdcsystems.amanda.jems.web.viewmodel.FolderInfoEditViewModel$FolderInfoData 
>> at com.csdcsystems.amanda.jems.web.viewmodel.FolderInfoEditViewModel.encryptInfo(FolderInfoEditViewModel.java:752) 
>> at sun.reflect.GeneratedMethodAccessor135.invoke(Unknown Source) 
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
>> at java.lang.reflect.Method.invoke(Unknown Source) 
>> at org.zkoss.bind.impl.ParamCall.call(ParamCall.java:111) 
>> at org.zkoss.bind.impl.BinderImpl.doExecute(BinderImpl.java:1744) 
>> at org.zkoss.bind.impl.BinderImpl.doCommand(BinderImpl.java:1505) 
>> at org.zkoss.bind.impl.BinderImpl.access$1500(BinderImpl.java:107) 
>> at org.zkoss.bind.impl.BinderImpl$CommandEventListener.onEvent0(BinderImpl.java:1374) 
>> at org.zkoss.bind.impl.BinderImpl$CommandEventListener.onEvent(BinderImpl.java:1326) 

' 任何人給我任何建議如何解決這個問題?

感謝

回答

0

我只投了selectedFolderInfo它的做工精細了。

 for (Object obj : selectedFolderInfo) { 
     if (obj instanceof FolderInfoData) { 
      FolderInfoData folderInfoData = (FolderInfoData) obj; 
      FolderInfoRecord folderInfoRecord = folderInfoData.getFolderInforecord(); 
      folderRecord.add(folderInfoRecord); 
      } 
       } 
相關問題