有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓 java。lang.ArrayIndexOutOfBoundsException在索引“1”处,单击收藏夹图标时大小为“1”

我有一个图像图标是最喜欢的图标,有两个状态点击和无点击。当我在项目位置“0”的适配器中单击favorite时,是从ProductList中添加到FavoriteList中的1个产品,但当我在项目位置“1”的适配器中单击favorite图标时,是错误:

“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) 个答案

  1. # 1 楼答案

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

    同时给出错误的行号也会很有帮助