Skip to content

Instantly share code, notes, and snippets.

@AmaldevTA
Created October 9, 2020 12:14
Show Gist options
  • Save AmaldevTA/5a33cf7217cf8a11200bcb8c0dd902a6 to your computer and use it in GitHub Desktop.
Save AmaldevTA/5a33cf7217cf8a11200bcb8c0dd902a6 to your computer and use it in GitHub Desktop.
class MyAdapter (val list : List<Model>)
: RecyclerView.Adapter<RecyclerView.ViewHolder>(){
class ViewHolder1(val binding: ListItemBinding1): RecyclerView.ViewHolder(binding.root)
class ViewHolder2(val binding: ListItemBinding2): RecyclerView.ViewHolder(binding.root)
override fun getItemViewType(position: Int): Int {
if (list[position].isHeader) {
return 0;
} else {
return 1;
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
if(viewType == 0){
val binding: ListItemBinding1 = ListItemBinding1.inflate(
LayoutInflater.from(parent.context), parent, false
)
return ViewHolder1(binding)
}else{
val binding: ListItemBinding2 = ListItemBinding2.inflate(
LayoutInflater.from(parent.context), parent, false
)
return ViewHolder2(binding)
}
}
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
val model = list[position]
if (getItemViewType(position) == 0){
(holder as ViewHolder1).binding.myTextView.text = model.header
}else{
(holder as ViewHolder2).binding.myTextView.text = model.value
}
}
override fun getItemCount(): Int {
return list.size
}
}
class MyAdapter (val list : List<Model>)
: RecyclerView.Adapter<MyAdapter.ViewHolder>(){
class ViewHolder(val binding: ListItemBinding): RecyclerView.ViewHolder(binding.root)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val binding: ListItemBinding = ListItemBinding.inflate(
LayoutInflater.from(parent.context), parent, false
)
return ViewHolder(binding)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val model = list[position]
holder.binding.myTextView.text = model.name
}
override fun getItemCount(): Int {
return list.size
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment