2014-01-15 105 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()中使用.. –

相關問題