2017-03-05 69 views
1

我有一個名爲customObjectList的自定義對象的列表。我希望它綁定到AlertDialog.Builder.setMultiChoiceItems(),這就需要首先轉換成的CharSequence,
這是我要做的事:customObjectList.toArray(new CharSequence[customObjectList.size()])但我得到這個錯誤:將自定義對象的列表轉換爲CharSequence

java.lang.ArrayStoreException: source[0] of type com.idea.customobject cannot be stored in destination array of type java.lang.CharSequence[] 

什麼是轉換的正確方法是什麼?

+0

嘿,你是否設法解決它? – Vucko

回答

1

錯誤的原因是您正嘗試創建一個不實現CharSequence接口(您的CustomObject類)的東西的CharSequence。如果兩種類型相同,您可以使用toArray方法,而不是。所以我建議的替代方法就是手動完成。我想,你的customObject類有某種你在選擇想要的顯示,所以只使用再和循環做了,像這樣一個字符串值:

CharSequence[] myArray = new CharSequence[customObjectList.size()]; 
for(int i = 0; i < customObjectList.size(); i++){ 
    myArray[i] = customObjectList.get(i).getTitle(); // Whichever string you wanna store here from custom object 
} 

現在,你可以簡單地使用myArraysetMultiChoiceItems 。希望你瞭解這個想法,我也解決了你的問題。

相關問題