I created a RecyclerView Adapter
that shows a list of items and next to each on of them there is a Checkbox
.
Inside the adapter I created:
interface OnItemCheckListener {
void onItemCheck(DiscoverBooks books);
void onItemUncheck(DiscoverBooks books);
}
@NonNull
private OnItemCheckListener onItemCheckListener;
@Override
public void onBindViewHolder(BorrowViewHolder holder, int position) {
holder.bind(items.get(position), position);
final Discoveritems currentItem = items.get(position);
holder.setOnClickListener( v -> {
holder.Cb_Borrow.setChecked( !holder.Cb_Borrow.isChecked());
if (holder.Cb_Borrow.isChecked()) {
onItemCheckListener.onItemCheck(currentItem);
} else {
onItemCheckListener.onItemUncheck(currentItem);
}
} );
}
Where I give the option for the user to check the Checkbox and to use this data later.
However, I found that if for example, I clicked the Checkbox of the first item, it makes every 7 item to be checked.
For example what I get:
item 1 - item checked
item 2
item 3
item 4
item 5
item 6
item 7
item 8 - item checked
item 9
item 10
item 11
item 12
item 13
item 14
item 15 - item checked
Any idea why it happens?
Thank you