56 lines
1.7 KiB
Kotlin
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"
|
|
}
|
|
}
|