【发布时间】:2011-07-12 15:33:36
【问题描述】:
我目前正在编写一个 Android 应用程序,该应用程序将用于计算交叉路口的流量。 在 4 向路口,应用程序将有 24 个按钮。
有 4 组,一组用于:东行、南行、西行和北行车辆。 这 4 组中的每一个都分为 2 组,每组 3 个按钮用于卡车和汽车。 然后将这两组中的每一个分为左转、右转或通过的车辆。
在确定按下哪个按钮时,如何避免出现巨大的 switch/case 语句?
我想做的是:
每次按下按钮时,输出一行: 车辆类型、方向、转弯。
switch (id) {
case R.id.car_westbound_left:
Log.v("output", "car,westbound,left");
break;
}
等等等等。
现在,我认为这不是写得很好的代码。 我可以创建一个具有属性的“按钮”类:车辆类型、方向、转弯,然后以某种方式使用它吗?但我仍然需要按钮的 ID 来确定按下了哪个按钮?
【问题讨论】:
-
哇——你是如何实现你的按钮的?能发个布局吗?如果您使用现有的 Button 类,您可以只使用点击侦听器吗?
-
好吧..您可以使用长 if-else 语句来代替;-) 您可能想要使用车辆对象和某种类型的交叉路口类,您可以在其中放置车辆。 4 路交叉口会创建 4 个车辆对象或类似的东西。
-
@Nathan 这是我现在拥有的按钮中的XML Layout 和screenshot。