关联用户
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
package com.example.defenseapplication.adapter
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.example.defenseapplication.databinding.ItemLinkedUserBinding
|
||||
|
||||
data class LinkedUser(
|
||||
val name: String,
|
||||
val phone: String,
|
||||
val idCard: String,
|
||||
val time: String
|
||||
)
|
||||
|
||||
class LinkedUserAdapter(
|
||||
private val onItemClick: (LinkedUser, Int) -> Unit,
|
||||
private val onDeleteClick: (LinkedUser, Int) -> Unit
|
||||
) : RecyclerView.Adapter<LinkedUserAdapter.LinkedUserViewHolder>() {
|
||||
|
||||
private val items = mutableListOf<LinkedUser>()
|
||||
|
||||
fun submitList(userList: List<LinkedUser>) {
|
||||
items.clear()
|
||||
items.addAll(userList)
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
|
||||
fun removeItem(position: Int) {
|
||||
if (position in items.indices) {
|
||||
items.removeAt(position)
|
||||
notifyItemRemoved(position)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): LinkedUserViewHolder {
|
||||
val binding = ItemLinkedUserBinding.inflate(
|
||||
LayoutInflater.from(parent.context),
|
||||
parent,
|
||||
false
|
||||
)
|
||||
return LinkedUserViewHolder(binding)
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: LinkedUserViewHolder, position: Int) {
|
||||
holder.bind(items[position], position)
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int = items.size
|
||||
|
||||
inner class LinkedUserViewHolder(
|
||||
private val binding: ItemLinkedUserBinding
|
||||
) : RecyclerView.ViewHolder(binding.root) {
|
||||
|
||||
fun bind(item: LinkedUser, position: Int) {
|
||||
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.llContent.setOnClickListener {
|
||||
onItemClick(item, position)
|
||||
}
|
||||
|
||||
binding.llDelete.setOnClickListener {
|
||||
onDeleteClick(item, position)
|
||||
}
|
||||
}
|
||||
|
||||
fun getContentLayout(): View = binding.llContent
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user