2012-05-14 90 views
-3
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); 
    } 
} 

回答

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.

+0

哎对不起......我错误地删除了=号...在我的代码中,我已经删除它,但我得到了错误..我可以告诉我其他答案 – Google

+0

好吧,'position'的值是多少? ? – MByD

+0

我在列表视图中添加数据,所以位置是列表视图position..when用户单击任何列表视图项目的位置值越来越和数据添加在该位置 – Google

0

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

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

什么是笔记des。我相信错误来自此代码。

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

所以通过登录notesdes数组的大小调试代码。

+0

笔记和DES是数组列表..我添加约会笔记是我的标题和DES是我的描述。它在列表视图中添加.. – Google

+0

我知道笔记和des是arraylist。您正在使用des.get(位置),位置值取决于ap_title_arr大小。所以des和notes数组的大小也应该等于ap_title_arr的大小。 –

相关问题