我有一個非常惱人的問題,拋出一個IndexOutOfBoundsException的代碼,我真的不明白爲什麼。該logcat的指向下面的代碼的「addTimetableItem」這病解釋更多:IndexOutOfBoundsException與Android ArrayList
if(sortedFridayTimes.size()>0){
insertDay("Friday");
for(int i=1; i<sortedFridayTimes.size()+1;i++){
addTimetableItem(sortedFridayTimes.get(i));
}
}
「sortedFridayTimes」是包含我自己的「時間表條目」的對象一個ArrayList,我已經分成順序。首先檢查大小,看看是否有任何對象,如果有,然後「insertDay」運行爲標題創建一個新的文本視圖,並將其添加到佈局(這工作正常..)。 在for循環中,想法是將所有對象從arraylist添加到佈局中。現在我知道「addTimetableItem」代碼的工作原理已經測試過,但我的問題是,我似乎無法從陣列列表中獲取最後一個對象。如果我宣佈在for循環只爲
"i<sortedFridayTimes.size()"
然後該程序運行正常,但我不明白的,我知道的存在,因爲我已經調試,看着我的變量數組列表中的最後一項運行。如上所示添加「+1」我現在得到IndexOutOfBoundsException,我真的不知道爲什麼。正如我所說的,我已經調試過,並且我知道在我試圖指向的數組列表中存在一個條目,但它只是崩潰。如果需要,我可以提供更多的代碼,但是有沒有人有任何想法?
嗯,我認爲,但如果說大小爲2,我會從1開始,將小於2,因此代碼將執行,但是,然後我會變成2,這不是不到2,因此代碼wouldnt運行我會錯過列表中的第二個值..對吧? – 2012-04-21 19:36:34
從0開始,在N-1結束。 – 2012-04-21 19:38:58
歡呼的幫助,現在排序。 – 2012-04-21 19:41:54