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