0
情況:
我有資源,其中包括所有類型的,比方說,問題的字符串數組。安卓:字符串數組(全部複製或從另一個字符串數組與標準選擇)
如果用戶單擊所有類型,例如,選擇全部,則selection_question
字符串數組將複製all_question
中的所有項目。
然而,如果用戶點擊特定類型的問題,比方說,只選擇動物相關的問題,那麼selection_question
字符串數組將所有項目複製all_question
包含「動物」這個詞。
我的代碼簡單如下:
聲明:
String[] all_Question ;
String[] selection_Question;
的OnCreate:
all_Question = getResources().getStringArray(R.array.all_Q_List);
all_numberofquestions = all_Question.length;
// reset
selection_numberofquestions = 0;
selection_Question = new String[0];
j =0;
如果選擇所有:
for (int i = 0; i < all_numberofquestions ; i++)
{
selection_Question[i] = all_Question [i];
}
如果基於某些標準來選擇:
for (int i = 0; i < all_numberofquestions ; i++)
{
if (all_Question [i].contains("animal"))
{
selection_Question [j] = all_Question [i];
j++;
}
}
問:
然後將它與下面的錯誤彈出式菜單,如圖中的logcat:
03-04 22:14:10.568: E/AndroidRuntime(24917): Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
我不理解爲什麼它是出界的?上述代碼如何修改?
謝謝!
我想知道這是否會影響selection_Question的大小?這是因爲如果只是選擇使用標準,那麼selection_Question的大小將小於all_question,那麼後面那些剩餘的插槽會受到影響? – pearmak 2013-03-04 14:27:13
我的意思是有可能創建一個字符串準備從無到有開始,當有新的項目只是繼續添加和擴展...但不保留在第一個地方......或者它實際上有關係嗎? (ps:我已檢查all_question不是空白,它包含400個項目,並且我檢查了all_question [0]它顯示了字符串,所以[100]。[200]) – pearmak 2013-03-04 14:29:53
聲音就像你想要一個'ArrayList'而不是數組。 – Geobits 2013-03-04 14:33:23