/** * If you don't specify how to handle payloads in your implementation, they'll be ignored and * the adapter will do a full rebind. * * @param viewHolder The ViewHolder to bind * @param position The adapter position * @param payloads A list of payloads (may be empty) */ public void bind(@NonNull VH viewHolder, int position, @NonNull List<Object> payloads) { bind(viewHolder, position); }
@Override public void onBindViewHolder(@NonNull VH holder, int position, @NonNull List<Object> payloads) { Item contentItem = getItem(position); contentItem.bind(holder, position, payloads, onItemClickListener, onItemLongClickListener); }
public abstract void bind(@NonNull VH viewHolder, int position);
/** * Perform any actions required to set up the view for display. * * @param viewHolder The viewHolder to bind * @param position The adapter position * @param payloads Any payloads (this list may be empty) * @param onItemClickListener An optional adapter-level click listener * @param onItemLongClickListener An optional adapter-level long click listener */ @CallSuper @Override public void bind(@NonNull ViewHolder<T> viewHolder, int position, @NonNull List<Object> payloads, OnItemClickListener onItemClickListener, OnItemLongClickListener onItemLongClickListener) { super.bind(viewHolder, position, payloads, onItemClickListener, onItemLongClickListener); viewHolder.binding.executePendingBindings(); }