- CheckBox标准的中文名为复选框,是一个独立的控件,点击后将在选中和非选中两种状态间进行切换
- RadioButton标准的中文名为单选框,一般是一组控件的一个子项,点击后选中自己,取消其它的选中项
- RadioButton一般会被RadioGroup容器包裹,表示多个RadioButton属于同一组,只能选中一个
- 监听CheckBox和RadioButton默认已经实现了点击时的状态切换,因为不能通过OnClickListener来监听状态变更,OnClickListener一般是在状态已经变更之后再触发的,监听状态变更要用OnCheckedChangeListener
- CheckBox和RadioButton通过额外的代码,也可以相互实现彼此的功能,但是请尊重控件本来的定位,不要乱用。比如想要在点击时,由选中切换到非选中,一定要使用CheckBox,因为RadioButton的默认行为时,不管当前是否选中,点击后必定选中当前项,并不是切换行为
CheckBox c1 = null;
RadioButton c2 = null;
RadioGroup c3 = null;
c1.setOnCheckedChangeListener((buttonView, isChecked) -> {});
c2.setOnCheckedChangeListener((buttonView, isChecked) -> {});
int selectedIndex = c3.getCheckedRadioButtonId() % (c3.getChildCount());