我有1个图像图标是“我的收藏”图标,有2个状态单击,没有单击。当我在适配器上的项目位置“ 0”上单击收藏夹时,是从ProductList获得的FavoriteList中添加了1种产品,但是当我在适配器中的项目位置“ 1”处单击收藏夹图标时,出现了错误:
“当我单击“收藏夹”时,java.lang.ArrayIndexOutOfBoundsException出现在索引“ 1”,大小为“ 1”。你们可以帮我解决这个错误吗?谢谢
有关代码的一些信息
itemHolder.imageView_fav_like.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
numClick++;
if (numClick % 2 != 0) { // isClicked
itemHolder.imageView_fav_like.setImageResource(R.drawable.ic_favorite_selected);
MainActivity.yeuthichArrayList.add(new YeuThich(sanPham.getId(), sanPham.getTensp(),
sanPham.getHinhanhsp(), sanPham.getGiasp()));
Log.v("numClick", String.valueOf(numClick));
} else {
itemHolder.imageView_fav_like.setImageResource(R.drawable.ic_favorite_unselect);
MainActivity.yeuthichArrayList.remove(i);
YeuThichActivity.yeuThichAdapter.notifyItemRemoved(i);
Log.v("numClick", String.valueOf(numClick));
}
if (numClick == 3) { // reset numclick = 1
numClick -= 2;
}
}
});
答案 0 :(得分:2)
大小为1的数组的索引为{0},如果数组的大小为5,则索引将为{0,1,2,3,4}。数组的索引只能达到其长度-1,您正试图将一项放置在只有索引0的数组的索引1处。
还提供错误的行号将非常有帮助。