我有一个RadioGroup
,里面有6个单选按钮。
如果用户点击已经选中的单选按钮,有没有办法取消选中单选按钮?
我的意思是有没有办法清除检查整个广播组,或者如果用户点击已经选中的radio button
,则不存储该值?
我知道存在ClearCheck()和setChecked(false),但我不知道如何以及在何处使用它们,因为SetOncheckChanged侦听器仅在检查状态更改时运行。单击已经选中的单选按钮时,它不会运行。我想我应该将SetOnClickListener用于radiogroup,但我不知道如何找到检查哪个radiobutton?
答案 0 :(得分:2)
使用::
//如果我们已经有一个已检查过的radiobutton并且想要记住它
if(mCurrentlyCheckedRB == null)
mCurrentlyCheckedRB = (RadioButton) v;
mCurrentlyCheckedRB.setChecked(true);
}
//点击当前或想要的一个来检查它已经存储了
if(mCurrentlyCheckedRB == v)
return;
//否则,取消选中当前选中的RadioButton,检查新的单选按钮
mCurrentlyCheckedRB.setChecked(false);
((RadioButton)v).setChecked(true);
mCurrentlyCheckedRB = (RadioButton)v;