首页 > 解决方案 > 如何在 Android 中的几个 ToggleButtons 上切换语句

问题描述

我正在开发一个声音应用程序,其中有几个切换按钮。每个切换按钮都会将其余部分设置为 .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();
            }
        }
    }
};

我觉得一个大的 switch 语句会比 25 个 if 语句更好,每个语句有 24 个 .setChecked(false) 操作。我真的无法弄清楚这个 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);
            }

由于开关类型的要求,不工作

我愿意接受更好的想法:)

标签: androidif-statementswitch-statementandroid-togglebutton

解决方案


推荐阅读