Skip to content

Instantly share code, notes, and snippets.

@mlegy
Created November 3, 2020 08:55
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mlegy/1eea7d4e3a8ddae8c9d369debdbdaa50 to your computer and use it in GitHub Desktop.
Save mlegy/1eea7d4e3a8ddae8c9d369debdbdaa50 to your computer and use it in GitHub Desktop.
class MyAdapter : ListAdapter<String, MyAdapter.ViewHolder>(DiffCallBack) {
class ViewHolder(private val binding: AdapterItemBinding) :
RecyclerView.ViewHolder(binding.root) {
fun bind(text: String) {
binding.textView.text = text
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val binding = AdapterItemBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return ViewHolder(binding)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(getItem(position))
}
object DiffCallBack : DiffUtil.ItemCallback<String>() {
override fun areItemsTheSame(oldItem: String, newItem: String): Boolean {
return oldItem == newItem
}
override fun areContentsTheSame(oldItem: String, newItem: String): Boolean {
return oldItem == newItem
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment