我有這些單選按鈕一個RadioGroup中內設置:單選檢查編程不會取消
<RadioGroup
android:id="@+id/radioGroupLeakTight"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:text="@string/action_yes"
android:id="@+id/radioLeakTightYes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<RadioButton
android:text="@string/action_no"
android:id="@+id/radioLeakTightNo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RadioGroup>
有了下面的代碼我嘗試切換單選按鈕中的一個通過代碼:
radioGroupLeakTight.check((currentTask.isLeakTight() ? R.id.radioLeakTightYes : R.id.radioLeakTightNo));
如果我不使用上面的代碼,RadioButtons按預期工作:無論何時被檢查,另一個被取消選中。如果我使用代碼預先檢查其中一個RadioButton,則此功能會丟失。每當我嘗試檢查一個RadioButton時,另一個仍然被檢查。
我讀過解決方案,我應該實施'OnCheckedChangeListener
'並自行切換。但我想這只是掩蓋其他不起作用的東西,不是嗎?我也讀過有這些問題的人,但他們沒有RadioGroup,我清楚地知道。
我在做什麼錯?唯一的解決方案是真正實施「OnCheckedChangeListener
」並自己切換其他RadioButton嗎?
UPDATE 2016年8月12日:
所以,我繼續我的搜索並實施 'OnCheckedChanged
'。我現在看到的是,無論何時我檢查其中一個RadioButton,這個事件都不會被解僱。監聽器設置在2個RadioGroup上。 我開始懷疑這些RadioButtons會失去他們的RadioGroup的會員資格?每當我通過代碼檢查它們(在設置我的偵聽器之後),事件被成功觸發。
使用clearCheck表示我應該實現偵聽器。這真的是唯一的方法嗎? –
編輯會給你一個我的意思的想法。這是否適用? – rupinderjeet
對不起,也許我的問題還不夠清楚。我知道如何通過代碼清除和切換RadioButton。但是當我以編程方式檢查其中的一個時,當用戶嘗試使用它時,自動切換功能會丟失。這兩個值將被檢查。 –