J'ai regardé plusieurs questions / réponses sur SO similaires à cette question mais je n'ai pas trouvé de solution.
Ce que j'ai est une énumération qui représente différentes façons d'afficher un guide TV ...
Dans la Application
classe NDroid
static enum guideView {
GUIDE_VIEW_SEVEN_DAY,
GUIDE_VIEW_NOW_SHOWING,
GUIDE_VIEW_ALL_TIMESLOTS
}
... lorsque l'utilisateur change la vue, un gestionnaire d'événements reçoit un int
de 0 à 2 et j'aimerais faire quelque chose comme ça ...
Dans un Activity
onClick(DialogInterface dialog, int which)
gestionnaire d'événements Android
// 'which' is an int from 0-2
switch (which) {
case NDroid.guideView.GUIDE_VIEW_SEVEN_DAY:
...
break;
}
Je suis habitué aux énumérations C # et aux instructions select / case qui permettraient quelque chose comme ce qui précède et je sais que Java fait les choses différemment, mais je ne peux tout simplement pas comprendre ce que je dois faire.
Vais-je devoir recourir aux if
déclarations? Il n'y aura probablement que 3 choix, donc je pourrais le faire, mais je me suis demandé comment cela pouvait être fait avec switch-case en Java.
EDIT Désolé, je n'ai pas complètement développé le problème car je le considérais comme un problème Java générique. J'ai ajouté à la question pour expliquer un peu plus.
Il n'y a rien de spécifique à Android, c'est pourquoi je ne l'ai pas étiqueté comme Android, mais l'énumération est définie dans la Application
classe et le code où je ne veux pas que le commutateur se trouve dans un Activity
. L'énumération est statique car je dois y accéder à partir de plusieurs activités.
OnClickListener
) est défini par l' DialogInterface
interface que je dois implémenter.
case GUIDE_VIEW_SEVEN_DAY
après des importations appropriées; quel (s) problème (s) rencontrez-vous?