如果已经选中,取消选中单选按钮?

时间:2014-01-15 08:08:19

标签: android

我有一个RadioGroup,里面有6个单选按钮。

如果用户点击已经选中的单选按钮,有没有办法取消选中单选按钮?

我的意思是有没有办法清除检查整个广播组,或者如果用户点击已经选中的radio button,则不存储该值?

我知道存在ClearCheck()和setChecked(false),但我不知道如何以及在何处使用它们,因为SetOncheckChanged侦听器仅在检查状态更改时运行。单击已经选中的单选按钮时,它不会运行。我想我应该将SetOnClickListener用于radiogroup,但我不知道如何找到检查哪个radiobutton?

1 个答案:

答案 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;