我已经看过类似于此问题的各种问答,但是还没有找到解决方案。
我所拥有的一个枚举代表了观看电视指南的不同方式...
在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个选择,所以我可以这样做,但我想知道如何用Java中的切换用例来完成。
编辑抱歉,我没有完全扩展此问题,因为我将其视为通用Java问题。我已经添加了这个问题,以进一步解释。
没有什么是特定于Android的,这就是为什么我没有将其标记为Android,而是在Application
类中定义了枚举,而我不希望在其中切换的代码位于的原因Activity
。枚举是静态的,因为我需要从多个活动中访问它。
OnClickListener
)由DialogInterface
我必须实现的接口定义。
case GUIDE_VIEW_SEVEN_DAY
在适当进口后才进行;您有什么问题?