Skip to content

Instantly share code, notes, and snippets.

@chaostools
Forked from AndrewHaisting/PayloadBinding.kt
Created October 23, 2020 04:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chaostools/625fedd418c7e4c94ffd0b43838a30de to your computer and use it in GitHub Desktop.
Save chaostools/625fedd418c7e4c94ffd0b43838a30de to your computer and use it in GitHub Desktop.
override fun onBindViewHolder(holder: ViewHolder,
position: Int,
payloads: MutableList<Any>) {
if (!payloads.isEmpty()) {
// Because these updates can be batched,
// there can be multiple payloads for a single bind
when (payloads[0]) {
Payload.FAVORITE_CHANGE -> {
// Change only the "favorite" icon,
// leave background image alone:
bindFavoriteIcon(holder,
items[position].isFavorited)
}
}
}
// When payload list is empty,
// or we don't have logic to handle a given type,
// default to full bind:
super.onBindViewHolder(holder, position, payloads)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment