wedroid/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/adapter/BoardsListAdapter.kt

56 lines
1.7 KiB
Kotlin

package it.unisannio.ding.ids.wedroid.app.view.adapter
import android.content.Context
import android.content.Intent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import it.unisannio.ding.ids.wedroid.app.R
import it.unisannio.ding.ids.wedroid.app.data.entity.Board
import it.unisannio.ding.ids.wedroid.app.view.BoardViewActivity
class BoardsListAdapter internal constructor(
context: Context
) : RecyclerView.Adapter<BoardsListAdapter.BoardViewHolder>() {
private val inflater = LayoutInflater.from(context)
private var boards = emptyList<Board>()
inner class BoardViewHolder(
view: View
) : RecyclerView.ViewHolder(view) {
val boardTitle: TextView = view.findViewById(R.id.boardTitle)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BoardViewHolder {
val view = inflater.inflate(R.layout.board_recycle_item, parent, false)
return BoardViewHolder(view)
}
override fun getItemCount(): Int {
return boards.size
}
override fun onBindViewHolder(holder: BoardViewHolder, position: Int) {
val board = boards[position]
holder.boardTitle.text = board.title
holder.itemView.setOnClickListener {
val intent = Intent(it.context, BoardViewActivity::class.java)
intent.putExtra("idBoard", board.id)
it.context.startActivity(intent)
}
}
internal fun setBoards(boards: List<Board>) {
this.boards = boards
notifyDataSetChanged()
}
companion object {
const val BOARD_ID = "BOARD_ID"
}
}