ariane/app/src/main/java/oppen/tva/ui/tabs/TabsAdapter.kt

35 lines
1.2 KiB
Kotlin

package oppen.tva.ui.tabs
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.grid_cell_tab.view.*
import oppen.tva.R
import oppen.tva.io.history.tabs.Tab
class TabsAdapter(
private val tabs: List<Tab>,
val onTabDelete: (index: Int) -> Unit,
val onTabChange: (index: Int) -> Unit): RecyclerView.Adapter<TabsAdapter.ViewHolder>() {
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.grid_cell_tab, parent, false))
}
override fun getItemCount(): Int = tabs.size
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val tab = tabs[position]
holder.itemView.tab_last_uri.text = "${tab.history.last()}"
holder.itemView.remove_tab.setOnClickListener {
onTabDelete(holder.adapterPosition)
}
holder.itemView.tab_cell.setOnClickListener {
onTabChange(holder.adapterPosition)
}
}
}