Использование notifyItemChanged с объектом или без, например, не вызывает onBindView, но после небольшой прокрутки (не получая изображения экрана и входите). Это работает. Логика:
@Override
public void onClick(View view) {
if(view.getTag() instanceof MediaEntity){
final MediaEntity entity = (MediaEntity) view.getTag();
if(isInSelected(entity.getPath())){
selected.remove(entity.getPath());
}else{
selected.add(entity.getPath());
}
notifyItemChanged(getPosition(entity.getPath()),new boolean[]{true});
}
}
@Override
public void onBindViewHolder(@NonNull MediaViewholder holder, int position, @NonNull List<Object> payloads) {
if(!payloads.isEmpty()){
holder.checkView.setVisibility(holder.checkView.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
}else{
//...
holder.populateOnBind(activity,paths.get(position),isVideo,isCheck);
}
}
Похожепроблема возникает после первой прокрутки до этого, все показанные элементы работают нормально. Но после первой прокрутки это происходит.