关联用户2

This commit is contained in:
2026-05-20 16:30:24 +08:00
parent 133ea5a88b
commit 246b39ca1a
15 changed files with 254 additions and 172 deletions

View File

@@ -1,25 +1,36 @@
package com.example.defenseapplication.adapter
import android.graphics.Color
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.example.defenseapplication.R
import com.example.defenseapplication.databinding.ItemAddLinkedUserBinding
data class UserItem(val name: String, val phone: String)
data class UserItem(val name: String, val phone: String, val userId: String = "")
class AddLinkedUserAdapter(
private val data: List<UserItem>,
private val selectedIds: MutableSet<String>,
private val onItemClick: (String, Boolean) -> Unit
private val selectedUserIdMap: MutableMap<String, String>,
private val onItemClick: (String, Boolean, String?) -> 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)
val isChecked = selectedIds.contains(item.phone)
binding.cbSelect.isChecked = isChecked
binding.cbSelect.setOnCheckedChangeListener { _, checked ->
if (checked) {
binding.cbSelect.buttonTintList = android.content.res.ColorStateList.valueOf(Color.parseColor("#09C2BD"))
} else {
binding.cbSelect.buttonTintList = null
}
onItemClick(item.phone, checked, item.userId)
}
if (isChecked) {
binding.cbSelect.buttonTintList = android.content.res.ColorStateList.valueOf(Color.parseColor("#09C2BD"))
}
}
}

View File

@@ -56,10 +56,10 @@ class LinkedUserAdapter(
) : RecyclerView.ViewHolder(binding.root) {
fun bind(item: LinkedUser, position: Int) {
binding.tvPhone.text ="手机号码:${item.phone}"
binding.tvIdCard.text ="身份证号:${item.idCard}"
binding.llContent.translationX = 0f
binding.tvUserName.text = item.name
binding.tvPhone.text = "手机号码:${item.phone}"
binding.tvIdCard.text = "身份证号:${item.idCard}"
binding.tvTime.text = item.time
//设置删除按钮的文字
binding.tvDeleteAction.text = deleteText