Я посмотрел на различные Q & As on SO, похожие на этот вопрос, но не нашел решения.
У меня есть перечисление, представляющее различные способы просмотра телегида...
В классе NDroid Application
static enum guideView {
GUIDE_VIEW_SEVEN_DAY,
GUIDE_VIEW_NOW_SHOWING,
GUIDE_VIEW_ALL_TIMESLOTS
}
... когда пользователь меняет представление, обработчик события получает int
от 0-2, и я хотел бы сделать что-то вроде этого...
В обработчике событий Android Activity
onClick(DialogInterface dialog, int which)
// 'which' is an int from 0-2
switch (which) {
case NDroid.guideView.GUIDE_VIEW_SEVEN_DAY:
...
break;
}
Я привык к перечислениям С# и операторам select/case, которые позволили бы что-то вроде выше, и я знаю, что Java делает вещи по-другому, но я просто не могу понять, что мне нужно делать.
Придется ли мне прибегать к утверждениям if
? Вероятно, будет только 3 варианта, поэтому я мог бы это сделать, но я подумал, как это можно сделать с помощью коммутатора в Java.
EDIT Извините, я не полностью раскрыл эту проблему, поскольку рассматривал ее как общую проблему с Java. Я добавил к вопросу, чтобы объяснить немного дальше.
Нет ничего особенного в Android, поэтому я не отмечал его как Android, но перечисление было определено в классе Application
, а код, в котором я отключен, находится в Activity
. Перечисление является статическим, поскольку мне нужно получить к нему доступ из нескольких действий.