java.lang.IndexOutOfBoundsException:索引8无效,大小为8

时间:2012-05-14 06:10:32

标签: android

for(int j=0; j<ServiceProviderCal.ap_title_arr.size();j++)
{           
    if(ServiceProviderCal.ap_title_arr.get(position).isEmpty())
    {
         Holder.relative.setBackgroundColor(android.graphics.Color.rgb(255, 255,255));
    }
    else
    {
        Holder.txtNote1.setText(notes.get(position)+"  For:");
        Holder.txtNote2.setText(des.get(position));
        Holder.relative.setBackgroundColor(android.graphics.Color.rgb(255, 255,0));                 
        //Log.e("Notes...", ""+notes);  
    }
}

2 个答案:

答案 0 :(得分:5)

此:

for(int j=0; j<=ServiceProviderCal.ap_title_arr.size();j++) {

应该是:

for(int j=0; j<ServiceProviderCal.ap_title_arr.size();j++) {

数组索引从0开始,所以当你有一个大小为8的数组时,其中的最大索引是7。

答案 1 :(得分:0)

在您的代码中,您正在使用

Holder.txtNote1.setText(notes.get(position)+"  For:");
        Holder.txtNote2.setText(des.get(position));

什么是备注 des 。我确信错误来自此代码。

notesdes数组列表值应该等于ServiceProviderCal.ap_title_arr.size()

通过记录notesdes数组的大小来调试代码。