Android 正在执行CheckBox.setChecked(),但未显示在屏幕上

Android 正在执行CheckBox.setChecked(),但未显示在屏幕上,android,checkbox,Android,Checkbox,我正在使用textview上的onClickListener对复选框设置Check(),并在清除SparseBooleanArray中最后选中的项时保存一个值。正在执行代码,但未显示选中的复选框 textView.setOnClickListener(v -> { int adapterPosition = getAdapterPosition(); if (!itemStateArray.get(adapterPosition, false

我正在使用textview上的onClickListener对复选框设置Check(),并在清除SparseBooleanArray中最后选中的项时保存一个值。正在执行代码,但未显示选中的复选框

textView.setOnClickListener(v -> {
            int adapterPosition = getAdapterPosition();
            if (!itemStateArray.get(adapterPosition, false)) {
                if (first) {
                    checkBox.setChecked(true);
                    first = false;
                    lastChecked = checkBox;
                } else {
                    if (checkBox.isChecked() && lastChecked != null) {
                        lastChecked.setChecked(false);
                        checkBox.setChecked(true);
                        lastChecked = checkBox;
                    }
                }
                itemStateArray.clear();
                itemStateArray.put(adapterPosition, true);

            } else {
                checkBox.setChecked(false);
                itemStateArray.clear();
                itemStateArray.put(adapterPosition, false);

            }
        });
我正在文本视图上设置侦听器,因为我想单击屏幕一侧较大的文本视图,而不是较小的复选框

单击该项目并向下滚动和向上滚动时,该项目显示为选中。我将复选框设置为在onBindViewHolder中选中 使用以下代码:

holder.bind(position);
将选中位置传递到的绑定函数:

void bind(int position) {
            if (!itemStateArray.get(position, false)) {
                checkBox.setChecked(false);
            } else {
                checkBox.setChecked(true);
                lastChecked = checkBox;
            }
        } 

正在设置动画的复选框不会显示在屏幕上

您正在使用listView/RecyclerView,对吗? 我认为实现这一点的最佳方法是告诉视图使用该方法刷新该行

recyclerView.notifyItemChanged(int)
其中int是切换che复选框的行的位置