Skip to content

Instantly share code, notes, and snippets.

@ankitchauhan20
Created July 12, 2022 06:47
Show Gist options
  • Save ankitchauhan20/f3eaa57c45a637ea5a8b51151ef16e00 to your computer and use it in GitHub Desktop.
Save ankitchauhan20/f3eaa57c45a637ea5a8b51151ef16e00 to your computer and use it in GitHub Desktop.
AdapterBinding
package com.example.kotlintutorial
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.databinding.DataBindingUtil
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.example.kotlintutorial.databinding.DataItemBinding
class BannerAdapter(var list: ArrayList<CountryBanner>) : RecyclerView.Adapter<BannerAdapter.ViewHolder>() {
var binding: DataItemBinding? = null
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
binding = DataBindingUtil.inflate(LayoutInflater.from(parent.context),R.layout.data_item ,parent ,false)
return ViewHolder(binding!!)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val item = list[position]
holder.bindData(item)
}
override fun getItemCount(): Int {
return list.size
}
class ViewHolder (private val itemBinding: DataItemBinding) : RecyclerView.ViewHolder(itemBinding.root){
fun bindData(item: CountryBanner) {
itemBinding.bannerName.text = item.bannerId.toString()
Glide.with(itemView.context)
.load(item.bannerImageUrl)
.into(itemBinding.bannerImage)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment