databinding-samples
databinding-samples copied to clipboard
How to binding a RecycleView.Adataper
How to binding a RecycleView.Adataper How to use in RecycleView
@a316375
In my case, I created a BindingViewHolder
which has ViewDataBinding
of generic T type instead of ViewHolder
classes such as HeaderViewHolder, ItemViewHolder and etc.
class BindingViewHolder<T: ViewDataBinding>
constructor(val binding: T): RecyclerView.ViewHolder(binding.root)
You can create BindingViewHolder
on onCreateViewHolder
method.
override fun onCreateViewHolder(parent: ViewGroup, position: Int):
BindingViewHolder<ViewDataBinding> {
return BindingViewHolder(ItemScheduleBinding.inflate(
LayoutInflater.from(parent.context), parent, false))
}
Set data to Binding class.
override fun onBindViewHolder(
viewHolder: BindingViewHolder<ViewDataBinding>, position: Int) {
val binding = viewHolder.binding as ItemScheduleBinding
binding.schedule = items.get(position)
}