項目中的一個小功能:
實現(xiàn)一個列表,每一項是一個單選,不可多選:
實現(xiàn):
使用 ListView+CheckBox,(當(dāng)然還有很多更好的方法,由于有封裝好的控件,就偷個懶),中間遇到個問題就是:setCheck()時會回調(diào)
OnCheckedChangeListener,導(dǎo)致多次循環(huán)調(diào)用。
問題解決:
在OnCheckedChangeListener中區(qū)分收手動setCheck(),還是點擊時的回調(diào)
checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (!buttonView.isPressed()) return;
if (null != onOptionListener) {
onOptionListener.onCheckChangedListener(position, isChecked, BookOptionItem.this);
}
});