Ho esaminato varie domande e risposte su SO simili a questa domanda ma non ho trovato una soluzione.
Quello che ho è un'enumerazione che rappresenta diversi modi per visualizzare una guida TV ...
Nella Application
classe NDroid
static enum guideView {
GUIDE_VIEW_SEVEN_DAY,
GUIDE_VIEW_NOW_SHOWING,
GUIDE_VIEW_ALL_TIMESLOTS
}
... quando l'utente cambia la vista, un gestore di eventi riceve uno int
0-2 e mi piacerebbe fare qualcosa del genere ...
In un Activity
onClick(DialogInterface dialog, int which)
gestore di eventi Android
// 'which' is an int from 0-2
switch (which) {
case NDroid.guideView.GUIDE_VIEW_SEVEN_DAY:
...
break;
}
Sono abituato alle enumerazioni C # e alle istruzioni select / case che consentirebbero qualcosa di simile a quanto sopra e so che Java fa le cose in modo diverso ma non riesco a dare un senso a ciò che devo fare.
Dovrò ricorrere a if
dichiarazioni? Probabilmente ci saranno solo 3 scelte, quindi potrei farlo, ma mi chiedevo come potesse essere fatto con switch-case in Java.
EDIT Spiacente, non ho approfondito completamente il problema perché lo consideravo un problema generico di Java. Ho aggiunto alla domanda per spiegare un po 'di più.
Non c'è nulla di specifico per Android, motivo per cui non l'ho etichettato come Android ma l'enum è definito nella Application
classe e il codice in cui non voglio lo switch è in un file Activity
. L'enumerazione è statica poiché è necessario accedervi da più attività.
OnClickListener
) è definito DialogInterface
dall'interfaccia che devo implementare.
case GUIDE_VIEW_SEVEN_DAY
dopo le importazioni corrette; che problema stai riscontrando?