42 lines
1.5 KiB
Kotlin
42 lines
1.5 KiB
Kotlin
package com.danilafe.fencelessgrazing
|
|
|
|
import android.content.Context
|
|
import android.view.LayoutInflater
|
|
import android.view.ViewGroup
|
|
import android.widget.Toast
|
|
import androidx.recyclerview.widget.ListAdapter
|
|
import androidx.recyclerview.widget.DiffUtil
|
|
import com.android.volley.Response
|
|
import com.android.volley.toolbox.Volley
|
|
import com.danilafe.fencelessgrazing.model.CollarSummary
|
|
import com.danilafe.fencelessgrazing.requests.CollarRequest
|
|
|
|
class CollarSummaryAdapter(
|
|
private val items : List<CollarSummary>
|
|
) : ListAdapter<CollarSummary, CollarViewHolder>(DiffCallback()) {
|
|
|
|
class DiffCallback : DiffUtil.ItemCallback<CollarSummary>() {
|
|
override fun areItemsTheSame(oldItem: CollarSummary, newItem: CollarSummary): Boolean
|
|
= oldItem.id == newItem.id
|
|
|
|
override fun areContentsTheSame(oldItem: CollarSummary, newItem: CollarSummary): Boolean
|
|
= oldItem == newItem
|
|
}
|
|
|
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CollarViewHolder {
|
|
val layout = LayoutInflater.from(parent.context).inflate(viewType, parent, false)
|
|
return CollarViewHolder(layout)
|
|
}
|
|
|
|
override fun onBindViewHolder(holder: CollarViewHolder, position: Int) {
|
|
holder.bindData(getItem(position))
|
|
}
|
|
|
|
override fun getItemViewType(position: Int): Int = R.layout.collar_summary_layout
|
|
|
|
override fun getItem(position: Int): CollarSummary = items[position]
|
|
|
|
override fun getItemCount(): Int = items.size
|
|
|
|
|
|
} |