Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.pupukkaltim.leader.adapter
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import androidx.recyclerview.widget.RecyclerView
- import com.pupukkaltim.leader.R
- import com.pupukkaltim.leader.model.Organic
- import com.squareup.picasso.Picasso
- import kotlinx.android.synthetic.main.item_row_karyawan.view.*
- class OrganicAdapter : RecyclerView.Adapter<OrganicAdapter.OrganicViewHolder>() {
- private val listOrganic = ArrayList<Organic>()
- private lateinit var onItemClickCallback: OnItemClickCallback
- fun setData(items: ArrayList<Organic>) {
- listOrganic.clear()
- listOrganic.addAll(items)
- notifyDataSetChanged()
- }
- override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): OrganicViewHolder {
- val view = LayoutInflater.from(viewGroup.context).inflate(R.layout.item_row_karyawan, viewGroup, false)
- return OrganicViewHolder(view)
- }
- override fun getItemCount(): Int = listOrganic.size
- override fun onBindViewHolder(holder: OrganicViewHolder, position: Int) {
- holder.bind(listOrganic[position])
- }
- inner class OrganicViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView){
- fun bind(organic: Organic) {
- with(itemView){
- Picasso.get()
- .load(organic.avatar)
- .placeholder(R.drawable.ic_baseline_account_circle_24)
- .error(R.drawable.ic_baseline_account_circle_24)
- .into(img_photo)
- tv_name_karyawan.text = organic.name
- tv_npk.text = organic.npk
- tv_grade.text = organic.grade
- itemView.setOnClickListener{
- onItemClickCallback.onItemClicked(organic)
- }
- }
- }
- }
- fun setOnItemClickCallback(onItemClickCallback: OnItemClickCallback) {
- this.onItemClickCallback = onItemClickCallback
- }
- interface OnItemClickCallback {
- fun onItemClicked(data: Organic)
- }
- }
Add Comment
Please, Sign In to add comment