WiFi管理

This commit is contained in:
2026-05-11 09:43:31 +08:00
parent 2c94ba767d
commit c91b646857
13 changed files with 501 additions and 35 deletions

View File

@@ -17,7 +17,7 @@ class AddDeviceAdapter(private val devices: List<Device>, private val onItemClic
inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val ivIcon: ImageView = itemView.findViewById(R.id.ivDeviceIcon2)
val tvName: TextView = itemView.findViewById(R.id.tvDeviceName2) // 注意:ID 要和布局中一致
val tvName: TextView = itemView.findViewById(R.id.tvDeviceName2) // ID 要和布局中一致
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {

View File

@@ -0,0 +1,37 @@
package com.example.defenseapplication.adapter
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.example.defenseapplication.databinding.ItemAddLinkedUserBinding
data class UserItem(val name: String, val phone: String)
class AddLinkedUserAdapter(
private val data: List<UserItem>,
private val selectedIds: MutableSet<String>,
private val onItemClick: (String, Boolean) -> Unit
) : RecyclerView.Adapter<AddLinkedUserAdapter.ViewHolder>() {
inner class ViewHolder(val binding: ItemAddLinkedUserBinding) : RecyclerView.ViewHolder(binding.root) {
fun bind(item: UserItem) {
binding.tvUserName.text = "${item.name}-${item.phone}"
binding.cbSelect.isChecked = selectedIds.contains(item.phone)
binding.cbSelect.setOnClickListener {
val isChecked = binding.cbSelect.isChecked
onItemClick(item.phone, isChecked)
}
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val binding = ItemAddLinkedUserBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return ViewHolder(binding)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(data[position])
}
override fun getItemCount(): Int = data.size
}