EventAdapter.kt 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package com.khmer9.boxingapplication.adapter
  2. import android.view.LayoutInflater
  3. import android.view.View
  4. import android.view.ViewGroup
  5. import android.widget.ImageView
  6. import android.widget.TextView
  7. import androidx.recyclerview.widget.RecyclerView
  8. import com.khmer9.boxingapplication.R
  9. class EventAdapter (private val cardList: List<CardItem>) : RecyclerView.Adapter<EventAdapter.ViewHolder>() {
  10. class CardViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
  11. override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): EventAdapter.ViewHolder {
  12. val itemView = LayoutInflater.from(parent.context).inflate(R.layout.layout_event_card, parent, false)
  13. return EventAdapter.ViewHolder(itemView)
  14. }
  15. override fun onBindViewHolder(holder: ViewHolder, position: Int) {
  16. val currentItem = cardList[position]
  17. holder.imageView.setImageResource(currentItem.imageResource)
  18. holder.dateTextView.text = currentItem.date
  19. holder.titleTextView.text = currentItem.title
  20. }
  21. override fun getItemCount() = cardList.size
  22. // Holds the views for adding it to image and text
  23. class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) {
  24. val imageView: ImageView = itemView.findViewById(R.id.imageView)
  25. val dateTextView: TextView = itemView.findViewById(R.id.dateTextView)
  26. val titleTextView: TextView = itemView.findViewById(R.id.titleTextView)
  27. }
  28. }