Я розглянув різні питання та відповіді на подібне до цього питання, але не знайшов рішення.
У мене є перерахунок, який представляє різні способи перегляду телевізійного довідника ...
У 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 # та вибору / випадок, що дозволяв би щось подібне, і я знаю, що Java робить інакше, але я просто не можу зрозуміти, що мені потрібно робити.
Чи доведеться вдаватися до if
заяв? Можливо, колись буде лише 3 варіанти, тому я міг би це зробити, але мені цікаво, як це можна зробити з корпусом перемикача на Java.
EDIT Вибачте, я не розширив цю проблему повністю, тому що я розглядав її як загальну проблему Java. Я додав до питання, щоб пояснити трохи далі.
Немає нічого, що є специфічним для Android, і тому я не позначив його як Android, але перелік визначається в Application
класі, і код, у якому я не хочу перемикання, знаходиться в Activity
. Перелік є статичним, оскільки мені потрібно отримати доступ до нього з декількох видів діяльності.
OnClickListener
) визначається DialogInterface
інтерфейсом, який я маю реалізувати.
case GUIDE_VIEW_SEVEN_DAY
після належного імпорту; які проблеми у вас є?