RadioGroup是比较常用的控件,我们遇到单项选择时会经常考虑用到。
首先我们为RadioGroup设置选择监听器:
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
Log.d("onCheckedChanged", "check");
}
});
但是当我们调用radioGroup.check(int id)方法时,通过Log打印信息会发现onCheckedChanged方法会调用两次,这肯定不是我们预期结果。
后来我发现RadioButton不是有个setChecked(boolean check)方法嘛,于是我换一种思路,不用radioGroup.check(int id)的方法:
RadioButton rb = (R