Eu olhei várias perguntas e respostas sobre SO semelhantes a esta questão, mas não encontrei uma solução.
O que eu tenho é um enum que representa diferentes maneiras de ver um Guia de TV ...
Na Application
classe NDroid
static enum guideView {
GUIDE_VIEW_SEVEN_DAY,
GUIDE_VIEW_NOW_SHOWING,
GUIDE_VIEW_ALL_TIMESLOTS
}
... quando o usuário altera a visualização, um manipulador de eventos recebe um int
de 0-2 e eu gostaria de fazer algo assim ...
Em um Activity
onClick(DialogInterface dialog, int which)
manipulador de eventos Android
// 'which' is an int from 0-2
switch (which) {
case NDroid.guideView.GUIDE_VIEW_SEVEN_DAY:
...
break;
}
Estou acostumado com enums C # e instruções select / case que permitiriam algo como o acima e sei que o Java faz as coisas de maneira diferente, mas simplesmente não consigo entender o que preciso fazer.
Terei de recorrer a if
afirmações? Provavelmente haverá apenas 3 opções, então eu poderia fazer isso, mas me perguntei como isso poderia ser feito com switch-case em Java.
EDITAR Desculpe, não expandi completamente o problema, pois estava olhando para ele como um problema Java genérico. Eu acrescentei à pergunta para explicar um pouco mais.
Não há nada que seja específico do Android, e é por isso que não o marquei como Android, mas o enum é definido na Application
classe e o código em que desejo a troca está em um Activity
. O enum é estático, pois preciso acessá-lo de várias atividades.
OnClickListener
) é definido pela DialogInterface
interface que devo implementar.
case GUIDE_VIEW_SEVEN_DAY
após as importações adequadas; que problema (s) você está tendo?