この質問に似たSOに関するさまざまなQ&Aを確認しましたが、解決策は見つかりませんでした。
私が持っているのは、テレビガイドを表示するさまざまな方法を表す列挙型です...
NDroid Applicationクラス
static enum guideView {
GUIDE_VIEW_SEVEN_DAY,
GUIDE_VIEW_NOW_SHOWING,
GUIDE_VIEW_ALL_TIMESLOTS
}
...ユーザーがビューを変更すると、イベントハンドラは intようなことをしたいと思います...
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適切にインポートした後でなければなりません。どのような問題がありますか?