[英]RadioButton-CheckBox Combo
對於我的特定應用程序,我希望能夠通過觸摸它來打開和關閉單選按鈕,類似於復選框。 但是,我需要單選按鈕在它們的組中互斥。 有64個按鈕和8個組,所以我不想使用復選框並手動設置切換功能。 我可以將onTouchListener()
與onTouchListener()
按鈕一起使用嗎? 有什么辦法可以做到這一點? 預先感謝您的支持。
您正在尋找既不是復選框也不是單選按鈕的UI范式。 最好的選擇是使用復選框,然后在此之上實現互斥。 例如,
myCheckbox1.setOnCheckChangedListener(new OnCheckChangedListener() {
@Override
public void onCheckChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
myCheckbox2.setChecked(false);
myCheckbox3.setChecked(false);
myCheckbox4.setChecked(false);
// start playback
} else {
// stop playback
}
}
);
請注意,如果您能夠枚舉每個組的所有按鈕ID,則可以通用地編寫代碼,例如,
if (isChecked) {
int myGroup = (Integer) buttonView.getTag(); // Define the group in the view's tag
for (int id: groups.get(myGroup)) {
if (id != buttonView.getId()) ((CompoundButton) findViewById(id)).setChecked(false);
}
另一個更復雜的答案是構建自己的UI小部件,並為其提供所需的任何語義。 不過,這不在我可以描述的范圍之內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.