androidgeek18

DeviceAdapter.kt

Nov 30th, 2024
18
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.44 KB | Source Code | 0 0
  1. package com.milesmarine.reeflightcontroller
  2.  
  3. import android.view.LayoutInflater
  4. import android.view.View
  5. import android.view.ViewGroup
  6. import android.widget.TextView
  7. import androidx.recyclerview.widget.RecyclerView
  8.  
  9. class DeviceAdapter(
  10.     private val deviceList: List<OpenBekenDevice>,
  11.     private val onDeviceClick: (OpenBekenDevice) -> Unit // Changed to accept OpenBekenDevice
  12. ) :
  13.     RecyclerView.Adapter<DeviceAdapter.DeviceViewHolder>() {
  14.  
  15.     class DeviceViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
  16.         val ipAddress: TextView = itemView.findViewById(R.id.tvDeviceIP)
  17.         val macAddress: TextView = itemView.findViewById(R.id.tvDeviceMAC)
  18.     }
  19.  
  20.     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DeviceViewHolder {
  21.         val view = LayoutInflater.from(parent.context)
  22.             .inflate(R.layout.item_device, parent, false)
  23.         return DeviceViewHolder(view)
  24.     }
  25.  
  26.     override fun onBindViewHolder(holder: DeviceViewHolder, position: Int) {
  27.         val device = deviceList[position]
  28.         holder.ipAddress.text = device.ip
  29.         holder.macAddress.text = device.mac
  30.  
  31.         // Set up the click listener for each item
  32.         holder.itemView.setOnClickListener {
  33.             onDeviceClick(device)  // Pass the selected device as OpenBekenDevice back to the activity
  34.         }
  35.     }
  36.  
  37.     override fun getItemCount(): Int {
  38.         return deviceList.size
  39.     }
  40. }
  41.  
Add Comment
Please, Sign In to add comment