当我单击“收藏夹”图标时,java.lang.ArrayIndexOutOfBoundsException出现在索引“ 1”,大小为“ 1”

时间:2019-06-27 14:47:41

标签: java android

我有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;
            }
        }
    });

1 个答案:

答案 0 :(得分:2)

大小为1的数组的索引为{0},如果数组的大小为5,则索引将为{0,1,2,3,4}。数组的索引只能达到其长度-1,您正试图将一项放置在只有索引0的数组的索引1处。

还提供错误的行号将非常有帮助。