问题描述
因此,我尝试使用名为全选的按钮从列表中选择所有项目,现在我按该按钮,然后将所有字段的 isChecked 变量更新为没错,在我notifysetDataChange()
之后,再次绘制了所有项目并检查了我,我还使用了一个界面,将选择了所有成员的当前成员列表通知我的UI
现在,当我按下按钮时
binding.btnSelectAll.setonClickListener {
attendanceAdapter.checkAllFields()
}
并在适配器中更新我的列表
fun checkAllFields(){
memberList.forEach { it.isChecked == true }
itemClickListener.onAllSelectedMembers(memberList)
notifyDataSetChanged()
}
所有memberList isChecked 值保持为 false 且未更改,我真的不知道为什么不更改,Members的数据类具有可变的isChecked变量,该变量可以是重新分配并且memberList也是可以更改的可变列表,为什么会发生这种情况?
解决方法
在您为checkAllFields()
共享的代码段中,您正在做boolean operation
==
。您应该执行分配操作。
在线附近:memberList.forEach { it.isChecked = true }
所以您的代码应如下所示:
fun checkAllFields(){
memberList.forEach { it.isChecked = true }
itemClickListener.onAllSelectedMembers(memberList)
notifyDataSetChanged()
}