项目中的一个小功能:
实现一个列表,每一项是一个单选,不可多选:
实现:
使用 ListView+CheckBox,(当然还有很多更好的方法,由于有封装好的控件,就偷个懒),中间遇到个问题就是:setCheck()时会回调
OnCheckedChangeListener,导致多次循环调用。
问题解决:
在OnCheckedChangeListener中区分收手动setCheck(),还是点击时的回调
checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (!buttonView.isPressed()) return;
if (null != onOptionListener) {
onOptionListener.onCheckChangedListener(position, isChecked, BookOptionItem.this);
}
});
网友评论