关联用户滑动
This commit is contained in:
@@ -16,6 +16,7 @@ data class LinkedUser(
|
||||
|
||||
class LinkedUserAdapter(
|
||||
private val deleteText: String,
|
||||
private val isUnlinkMode: Boolean,
|
||||
private val onItemClick: (LinkedUser, Int) -> Unit,
|
||||
private val onDeleteClick: (LinkedUser, Int) -> Unit
|
||||
) : RecyclerView.Adapter<LinkedUserAdapter.LinkedUserViewHolder>() {
|
||||
@@ -35,6 +36,12 @@ class LinkedUserAdapter(
|
||||
}
|
||||
}
|
||||
|
||||
fun closeSwipe(position: Int) {
|
||||
if (position in items.indices) {
|
||||
notifyItemChanged(position)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): LinkedUserViewHolder {
|
||||
val binding = ItemLinkedUserBinding.inflate(
|
||||
LayoutInflater.from(parent.context),
|
||||
@@ -56,18 +63,38 @@ class LinkedUserAdapter(
|
||||
) : RecyclerView.ViewHolder(binding.root) {
|
||||
|
||||
fun bind(item: LinkedUser, position: Int) {
|
||||
binding.tvPhone.text ="手机号码:${item.phone}"
|
||||
binding.tvIdCard.text ="身份证号:${item.idCard}"
|
||||
binding.tvPhone.text = "手机号码:${item.phone}"
|
||||
binding.tvIdCard.text = "身份证号:${item.idCard}"
|
||||
binding.llContent.translationX = 0f
|
||||
binding.tvUserName.text = item.name
|
||||
binding.tvTime.text = item.time
|
||||
//设置删除按钮的文字
|
||||
binding.tvDeleteAction.text = deleteText
|
||||
binding.llContent.setOnClickListener {
|
||||
onItemClick(item, position)
|
||||
|
||||
// MODE_SETTINGS → 显示"解除关联";MODE_PERSONAL → 显示"删除"
|
||||
if (isUnlinkMode) {
|
||||
binding.tvUnlinkAction.visibility = View.VISIBLE
|
||||
binding.tvDeleteAction.visibility = View.GONE
|
||||
} else {
|
||||
binding.tvUnlinkAction.visibility = View.GONE
|
||||
binding.tvDeleteAction.visibility = View.VISIBLE
|
||||
binding.tvDeleteAction.text = deleteText
|
||||
}
|
||||
|
||||
binding.llDelete.setOnClickListener {
|
||||
binding.llContent.setOnClickListener {
|
||||
if (binding.llContent.translationX < 0f) {
|
||||
binding.llContent.animate()
|
||||
.translationX(0f)
|
||||
.setDuration(200)
|
||||
.start()
|
||||
} else {
|
||||
onItemClick(item, position)
|
||||
}
|
||||
}
|
||||
|
||||
binding.tvDeleteAction.setOnClickListener {
|
||||
onDeleteClick(item, position)
|
||||
}
|
||||
|
||||
binding.tvUnlinkAction.setOnClickListener {
|
||||
onDeleteClick(item, position)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user