Skip to content

Instantly share code, notes, and snippets.

@kozmi55
Created August 16, 2021 19:03
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 kozmi55/70737a89923e3b0a1370b891589791a6 to your computer and use it in GitHub Desktop.
Save kozmi55/70737a89923e3b0a1370b891589791a6 to your computer and use it in GitHub Desktop.
@BindingAdapter("itemViewModels")
fun bindItemViewModels(recyclerView: RecyclerView, itemViewModels: List<ItemViewModel>?) {
val adapter = getOrCreateAdapter(recyclerView)
adapter.updateItems(itemViewModels)
}
private fun getOrCreateAdapter(recyclerView: RecyclerView): BindableRecyclerViewAdapter {
return if (recyclerView.adapter != null && recyclerView.adapter is BindableRecyclerViewAdapter) {
recyclerView.adapter as BindableRecyclerViewAdapter
} else {
val bindableRecyclerAdapter = BindableRecyclerViewAdapter()
recyclerView.adapter = bindableRecyclerAdapter
bindableRecyclerAdapter
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment