簡體   English   中英

RadioButton-CheckBox組合

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM