Ich habe mir verschiedene Fragen und Antworten zu SO angesehen, die dieser Frage ähnlich sind, aber keine Lösung gefunden.
Was ich habe, ist eine Aufzählung, die verschiedene Möglichkeiten zum Anzeigen eines TV-Programmführers darstellt ...
In der NDroid- Application
Klasse
static enum guideView {
GUIDE_VIEW_SEVEN_DAY,
GUIDE_VIEW_NOW_SHOWING,
GUIDE_VIEW_ALL_TIMESLOTS
}
... wenn der Benutzer die Ansicht ändert, erhält ein Ereignishandler eine int
von 0-2 und ich möchte so etwas tun ...
In einem Android- Activity
onClick(DialogInterface dialog, int which)
Event-Handler
// 'which' is an int from 0-2
switch (which) {
case NDroid.guideView.GUIDE_VIEW_SEVEN_DAY:
...
break;
}
Ich bin es gewohnt, C # -Aufzählungen und select / case-Anweisungen durchzuführen, die so etwas wie das oben Genannte zulassen, und ich weiß, dass Java die Dinge anders macht, aber ich kann einfach nicht verstehen, was ich tun muss.
Muss ich auf if
Aussagen zurückgreifen ? Es wird wahrscheinlich immer nur drei Möglichkeiten geben, damit ich es tun kann, aber ich habe mich gefragt, wie es mit Switch-Case in Java gemacht werden kann.
BEARBEITEN Es tut mir leid, dass ich das Problem nicht vollständig erweitert habe, da ich es als generisches Java-Problem angesehen habe. Ich habe die Frage ergänzt, um sie etwas näher zu erläutern.
Es gibt nichts, was Android-spezifisch ist, weshalb ich es nicht als Android Application
markiert habe, aber die Aufzählung ist in der Klasse definiert und der Code, in dem ich nicht wechseln möchte, befindet sich in einem Activity
. Die Aufzählung ist statisch, da ich von mehreren Aktivitäten aus darauf zugreifen muss.
OnClickListener
) wird durch die DialogInterface
Schnittstelle definiert , die ich implementieren muss.
case GUIDE_VIEW_SEVEN_DAY
nach ordnungsgemäßen Importen sein; Welche Probleme haben Sie?