我有复选框列,其中第一行是该特定列的CheckAll复选框。如果我从最左边一栏中的第一个CheckAll复选框中取消选中Checkall,则想取消其余的CheckAll复选框。但是mycheckbox.setSelected(false)无效。但是,如果我执行mycheckbox.setEnabled(false)(仅作为测试),它可以工作并且该复选框被禁用。顺便说一下,这是带有自定义适配器的列表视图的“标题行”。 listview的内容按预期工作。知道如何取消选中该复选框吗? 最佳答案 您应该使用mycheckbox.setChecked(false)而不是setSelected。我尝试搜索setSelected以查看其功能,但是在CheckBox的official documentation中,我找不到它(这向我提示,该方法可能在)。尝试在Android Studio中输入:CheckBox cb = new CheckBox(getApplication());cb.setSelected(true);转到方法(CheckBox)的实现,并在TextView类中看到了这一点,几乎所有其他小组件都从该类派生:@Overridepublic void setSelected(boolean selected) { boolean wasSelected = isSelected(); super.setSelected(selected); if (selected != wasSelected && mEllipsize == TextUtils.TruncateAt.MARQUEE) { if (selected) { startMarquee(); } else { stopMarquee(); } }} 这里要注意的有趣的是,CTRL+Click方法包含在setChecked类中,而CompoundButton是setSelected。这意味着TextView做的事情完全不同,因为textView当然不能被选中/取消选中。我希望这能很好地解释它。 10-08 17:06