#android #if-statement #switch-statement #android-togglebutton
Вопрос:
Я разрабатываю звуковое приложение, в котором у меня есть несколько кнопок для переключения. каждый переключатель будет устанавливать остальные значения в .setChecked(false) и воспроизводить звук при нажатии. Следующий код — это всего лишь небольшой пример-у меня около 25 кнопок
CompoundButton.OnCheckedChangeListener toggleButtonChanger = new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
if (buttonView == FirstButton) {
Leopard.start(); // starting Leopard sound
SecondButton.setChecked(false);
ThirdButton.setChecked(false);
}
if (buttonView == SecondButton) {
FirstButton.setChecked(false);
ThirdButton.setChecked(false);
Leopard.stop(); //Stop Leopard sound
}
if (buttonView == ThirdButton) {
FirstButton.setChecked(false);
SecondButton.setChecked(false);
Leopard.stop();
}
}
}
};
Я чувствую, что оператор big switch был бы лучшей практикой, чем 25 операторов if с 24 проверенными(ложными) операциями. я просто действительно не могу понять инструкцию switch-case для этого, не могли бы вы помочь, предоставив небольшой пример кода
switch (buttonView) {
case FirstButton:
Leopard.start();
SecondButton.setChecked(false);
ThirdButton.setChecked(false);
}
или
switch (isChecked) {
case FirstButton:
Leopard.start();
SecondButton.setChecked(false);
ThirdButton.setChecked(false);
}
Не работает из-за требований типов переключателей
Я открыт для лучших идей 🙂