2014-01-15 75 views
1

我有一个RadioGroup里面有6个单选按钮。如果已经选中,取消选中单选按钮?

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

我的意思是有什么办法来清除检查整个电台组或不存储的价值,如果用户点击已经检查radio button?我知道存在ClearCheck()和setChecked(false),但我不知道如何以及在哪里使用它们,因为SetOncheckChanged监听器只在检查状态改变时运行。当你点击一个已经检查过的单选按钮时它不会运行。我想我应该使用SetOnClickListener radiogroup,但我不知道如何找到哪个单选按钮被检查?

+2

我认为radioGroup的目的是限制对单个radioButton的检查。 –

+0

在这些情况下,首先我首先检查radiobtn tempRdBtn,然后当另一个检查,我取消选中tempRdBtn并将新的检查一个这一点。也许这可以帮助你。 – alicanbatur

+0

当用户选择其他5个按钮时,此单选按钮将变为未选中状态。如果您想让用户选择不输入内容,请尝试输入第7个按钮作为“以上都不是”,而不是尝试取消全部选中。 – Shakti

回答

2

使用::
//如果我们已经有一个选中的单选按钮,想记住它

if(mCurrentlyCheckedRB == null) 
     mCurrentlyCheckedRB = (RadioButton) v; 
     mCurrentlyCheckedRB.setChecked(true); 
    } 

//点击当前或希望一个要检查它是媒体链接存储

if(mCurrentlyCheckedRB == v) 
     return; 

//否则,取消选中当前选中的RadioButton,检查新的单选按钮

mCurrentlyCheckedRB.setChecked(false); 
((RadioButton)v).setChecked(true); 
mCurrentlyCheckedRB = (RadioButton)v; 
+0

为什么投下票? –

+0

我没有投票... Nayak能告诉我我应该在哪里使用这些代码? oncheckedchange监听器或onclicklistener? – SMahdiS

+0

在radiobutton.ononclicklistener()中使用.. –

相关问题