Advertisement
ahsai001

android-intermediate-day4-task15

Oct 9th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.65 KB | None | 0 0
  1. package id.co.rumahcoding.neardeal.adapters
  2.  
  3. import android.content.Context
  4. import android.support.v7.widget.RecyclerView
  5. import android.view.LayoutInflater
  6. import android.view.View
  7. import android.view.ViewGroup
  8. import com.squareup.picasso.Picasso
  9.  
  10. import id.co.rumahcoding.neardeal.R
  11. import id.co.rumahcoding.neardeal.models.Cart
  12. import kotlinx.android.synthetic.main.item_product.view.*
  13.  
  14.  
  15. class CartItemAdapter(private val mContext: Context, private val cartList: List<Cart>) : RecyclerView.Adapter<CartItemAdapter.ViewHolder>() {
  16.     private val mLayoutInflater: LayoutInflater = LayoutInflater.from(mContext)
  17.     private var mListener: OnItemClickListener? = null
  18.  
  19.  
  20.     fun setListener(listener: OnItemClickListener) {
  21.         mListener = listener
  22.     }
  23.  
  24.  
  25.     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
  26.         return ViewHolder(mLayoutInflater.inflate(R.layout.item_cart, parent, false))
  27.     }
  28.  
  29.     override fun onBindViewHolder(holder: ViewHolder, position: Int) {
  30.         val cart = cartList[position]
  31.  
  32.         holder.itemView.tv_name.text = cart.productName
  33.         holder.itemView.tv_price.text = cart.price.toString()
  34.  
  35.         Picasso.with(mContext).load(cart.photo).into(holder.itemView.imageView)
  36.  
  37.         if (mListener != null) {
  38.             holder.itemView.container.setOnClickListener { mListener!!.onItemClick(cart.productId) }
  39.         }
  40.     }
  41.  
  42.     override fun getItemCount(): Int {
  43.         return cartList.size
  44.     }
  45.  
  46.  
  47.     inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
  48.  
  49.     interface OnItemClickListener {
  50.         fun onItemClick(productId: String?)
  51.     }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement