この質問に似た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
適切にインポートした後でなければなりません。どのような問題がありますか?