У меня есть список в RecyclerView``. Всякий раз, когда я изменяю любое значение объекта в Onclick внутри OnBindViewHolder
, значение основного списка изменяется. Я хочу этого, но не могу понять, почему это происходит.
Гарантирует ли это, что всякий раз, когда я изменяю объект внутри onBindViewHolder, он меняет основной список?
Я думаю, что это из-за передачи по ссылке или что-то в этом роде.
public class AttendanceAdapter extends RecyclerView.Adapter<AttendanceAdapter.ViewHolder> {
List<ChildAttendance> data ;
public AttendanceAdapter(List<ChildAttendance> childList) {
data=new ArrayList<>(childList);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
ChildAttendance child = data.get(position);
((ViewHolder) holder).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
child.setName("checked");
}
});
}
}
child.setName("checked");
изменяет значение в данных. У меня большой список. Всегда ли это гарантирует изменение основного списка при изменении любого объекта.