-
Notifications
You must be signed in to change notification settings - Fork 70
/
DogListAdapter.kt
35 lines (27 loc) · 1.04 KB
/
DogListAdapter.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.wealthfront.magellan.sample.migration.tide
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.wealthfront.magellan.sample.migration.R
class DogListAdapter(
var dataSet: List<String> = emptyList(),
private val onDogSelected: (String) -> Unit
) : RecyclerView.Adapter<DogListAdapter.ViewHolder>() {
class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val textView: TextView = view.findViewById(R.id.dogName)
}
override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(viewGroup.context)
.inflate(R.layout.dog_item, viewGroup, false)
return ViewHolder(view)
}
override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) {
viewHolder.textView.text = dataSet[position]
viewHolder.itemView.setOnClickListener {
onDogSelected(dataSet[position])
}
}
override fun getItemCount() = dataSet.size
}