나는이 질문과 비슷한 다양한 Q & A를 보았지만 해결책을 찾지 못했습니다.
내가 가진 것은 TV 가이드를 보는 다양한 방법을 나타내는 열거 형입니다.
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에서 switch-case로 어떻게 할 수 있는지 궁금했습니다.
편집 죄송합니다. 저는 일반적인 Java 문제로보고 있었기 때문에 문제를 완전히 확장하지 않았습니다. 좀 더 설명하기 위해 질문에 추가했습니다.
Android에 특정한 것이 없으므로 Android로 태그를 지정하지 않았지만 열거 형은 Application
클래스에 정의되어 있고 스위치를 원하지 않는 코드는 Activity
. 열거 형은 여러 활동에서 액세스해야하므로 정적입니다.
OnClickListener
)는 DialogInterface
구현해야하는 인터페이스에 의해 정의됩니다 .
case GUIDE_VIEW_SEVEN_DAY
적절한 수입 후에 있어야합니다 . 어떤 문제가 있습니까?