Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Recyclerview绑定处的Materialcardview切换无法正常工作_Android_Kotlin - Fatal编程技术网

Android Recyclerview绑定处的Materialcardview切换无法正常工作

Android Recyclerview绑定处的Materialcardview切换无法正常工作,android,kotlin,Android,Kotlin,我在recyclerview切换cardview时遇到问题, 当我使用kotlin synthetic时,它工作得非常好。但当我迁移到viewBinding时,我的cardview只在我单击任何项目时切换最后一个项目。你们能帮帮我吗 对不起,英语不好 override fun onBindViewHolder(holder: ViewHolder, position: Int) { val list = list[position] binding.title.text = li

我在recyclerview切换cardview时遇到问题, 当我使用kotlin synthetic时,它工作得非常好。但当我迁移到viewBinding时,我的cardview只在我单击任何项目时切换最后一个项目。你们能帮帮我吗

对不起,英语不好

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    val list = list[position]
    binding.title.text = list.kategori
    binding.categoryCard.setOnClickListener {
        binding.categoryCard.toggle()
        if (list.isChecked) {
            list.isChecked = false
            if (StepPartner.category.contains(list.id)) StepPartner.category.remove(list.id)
        } else {
            list.isChecked = true
            StepPartner.category.add(list.id)
        }
    }
}

您必须使用holder获取实例子视图,请找到以下解决方案:

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    val list = list[position]
    holder.title.text = list.kategori
    holder.categoryCard.setOnClickListener {
        holder.categoryCard.toggle()
        if (list.isChecked) {
            list.isChecked = false
            if (StepPartner.category.contains(list.id)) StepPartner.category.remove(list.id)
        } else {
            list.isChecked = true
            StepPartner.category.add(list.id)
        }
    }
}