android - 如何在 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);
}
由于开关类型的要求,不工作
我愿意接受更好的想法:)
解决方案
推荐阅读
- android - Android和iOS上的图片大小差异问题
- python - 是否有可能在数据之后创建 ylim 只显示数字?
- javascript - API 调用需要很长时间(数据集 250.000 条记录)
- django - 如何使用 slug 通过多对多类“objects.filter”检索数据
- blockchain - 不能使用后备。什么都没发生!函数()外部应付{}
- android - 我应该将 cityName 添加到具有 4 个片段的导航组件中的 Bundle 多少次?
- api - 用于图像上传的 Rest Assured multipart/Form-Data 中的 API 出现错误,因为上传的图像不是 jpg/jpeg 或 png 类型“
- apache-spark - Spark 虽然分区号为 1 却生成了很多任务 Pyspark
- python - pybind11 内存泄漏和崩溃
- c# - 记录加载 *.dtsx 文件的结果