RadioButton-CheckBox Combo - PullRequest
       0

RadioButton-CheckBox Combo

1 голос
/ 29 марта 2012

Для моего конкретного приложения я хочу иметь возможность включать и выключать радиокнопку, касаясь ее, подобно флажку.Однако мне нужно, чтобы радио кнопки были взаимоисключающими в своих группах.Есть 64 кнопки и 8 групп, поэтому я не хочу использовать флажки и программировать функции переключения вручную.Могу ли я использовать onTouchListener() с радиокнопкой?Есть ли способ сделать это?Заранее благодарю за любую поддержку.

1 Ответ

1 голос
/ 29 марта 2012

Вы ищете парадигму пользовательского интерфейса, которая не является ни флажком, ни переключателем.Лучше всего использовать флажки, а затем реализовать взаимную исключительность.например,

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
    }
  } 
);

Обратите внимание, что если вы можете перечислить все идентификаторы кнопок для каждой группы, вы можете написать общий код, например,

    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); 
    }

Другой, более сложныйОтвет будет состоять в том, чтобы создать свой собственный виджет пользовательского интерфейса и дать ему любую семантику, которую вы хотите.Это не та область, которую я мог бы описать здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...