@ Override public void onBindViewHolder ( GalleryAdapter . ViewHolder holder , int position , List < Object > payloads ) { if ( payloads . isEmpty ( ) ) { // If doesn't have any payload then bind the fully item super . onBindViewHolder ( holder , position , payloads ) ; } else { for ( Object payload : payloads ) { boolean selected = isSelected ( position ) ; if ( SELECTION_PAYLOAD . equals ( payload ) ) { if ( VIEW_TYPE_MEDIA == getItemViewType ( position ) ) { MediaViewHolder viewHolder = ( MediaViewHolder ) holder ; viewHolder . mCheckView . setChecked ( selected ) ; if ( selected ) { AnimationHelper . scaleView ( holder . mImageView , SELECTED_SCALE ) ; } else { AnimationHelper . scaleView ( holder . mImageView , UNSELECTED_SCALE ) ; } } } } } }
Binding view holder with payloads is used to handle partial changes in item .