Java с использованием enum с оператором switch

Я просмотрел различные вопросы и ответы по 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;
}

Я привык к перечислениям C # и операторам select / case, которые допускают что-то подобное вышеупомянутому, и я знаю, что Java работает по-другому, но я просто не могу понять, что мне нужно делать.

Придется ли мне прибегать к утверждениям if ? Скорее всего, когда-либо будет только 3 варианта, чтобы я мог это сделать, но мне было интересно, как это можно сделать с помощью switch-case в Java.

РЕДАКТИРОВАТЬ Извините, я не полностью раскрыл проблему, так как рассматривал ее как общую проблему Java. Я добавил к вопросу, чтобы немного пояснить.

Нет ничего специфичного для Android, поэтому я не пометил его как Android, но перечисление определено в классе Application , а код, в котором я не хочу переключаться, находится в Активность . Перечисление статично, так как мне нужно получить к нему доступ из нескольких Activity.

103
задан Squonk 13 November 2011 в 02:08
поделиться