He mirado varias preguntas y respuestas sobre SO similares a esta pregunta pero no he encontrado una solución.
Lo que tengo es una enumeración que representa diferentes formas de ver una guía de TV ...
En la Application
clase NDroid
static enum guideView {
GUIDE_VIEW_SEVEN_DAY,
GUIDE_VIEW_NOW_SHOWING,
GUIDE_VIEW_ALL_TIMESLOTS
}
... cuando el usuario cambia la vista, un controlador de eventos recibe un int
0-2 y me gustaría hacer algo como esto ...
En un Activity
onClick(DialogInterface dialog, int which)
controlador de eventos de Android
// 'which' is an int from 0-2
switch (which) {
case NDroid.guideView.GUIDE_VIEW_SEVEN_DAY:
...
break;
}
Estoy acostumbrado a las enumeraciones de C # y las declaraciones select / case que permitirían algo como lo anterior y sé que Java hace las cosas de manera diferente, pero no puedo entender lo que tengo que hacer.
¿Voy a tener que recurrir a if
declaraciones? Es probable que solo haya 3 opciones, por lo que podría hacerlo, pero me preguntaba cómo se podría hacer con switch-case en Java.
EDITAR Lo siento, no amplié completamente el problema ya que lo veía como un problema genérico de Java. Agregué a la pregunta para explicar un poco más.
No hay nada que sea específico de Android, por lo que no lo etiqueté como Android, pero la enumeración está definida en la Application
clase y el código donde no quiero que el interruptor esté en un Activity
. La enumeración es estática ya que necesito acceder a ella desde múltiples actividades.
OnClickListener
) está definido por la DialogInterface
interfaz que tengo que implementar.
case GUIDE_VIEW_SEVEN_DAY
después de las importaciones adecuadas; ¿Qué problema (s) tienes?