ฉันได้ดู Q & As ต่างๆเกี่ยวกับ SO คล้ายกับคำถามนี้ แต่ไม่พบวิธีแก้ปัญหา
สิ่งที่ฉันมีคือ enum ซึ่งแสดงถึงวิธีต่างๆในการดูทีวีไกด์ ...
ในApplication
คลาสNDroid
static enum guideView {
GUIDE_VIEW_SEVEN_DAY,
GUIDE_VIEW_NOW_SHOWING,
GUIDE_VIEW_ALL_TIMESLOTS
}
... เมื่อผู้ใช้เปลี่ยนมุมมองตัวจัดการเหตุการณ์จะได้รับint
จาก 0-2 และฉันต้องการทำสิ่งนี้ ...
ในActivity
onClick(DialogInterface dialog, int which)
ตัวจัดการเหตุการณ์Android
// 'which' is an int from 0-2
switch (which) {
case NDroid.guideView.GUIDE_VIEW_SEVEN_DAY:
...
break;
}
ฉันคุ้นเคยกับ C # enums และคำสั่ง select / case ซึ่งจะอนุญาตบางอย่างเช่นข้างต้นและฉันรู้ว่า Java ทำสิ่งต่าง ๆ แต่ฉันไม่เข้าใจว่าต้องทำอะไร
ฉันจะต้องใช้if
งบ? อาจจะมีเพียง 3 ตัวเลือกเท่านั้นดังนั้นฉันจึงสามารถทำได้ แต่ฉันสงสัยว่ามันจะทำได้อย่างไรกับสวิตช์เคสใน Java
แก้ไขขออภัยฉันไม่ได้ขยายความเกี่ยวกับปัญหานี้ทั้งหมดเนื่องจากฉันมองว่าปัญหานี้เป็นปัญหาทั่วไปของ Java ฉันได้เพิ่มคำถามเพื่ออธิบายเพิ่มเติมเล็กน้อย
ไม่มีอะไรที่เฉพาะเจาะจงสำหรับ Android ซึ่งเป็นสาเหตุที่ฉันไม่ได้แท็กเป็น Android แต่ enum ถูกกำหนดไว้ในApplication
คลาสและรหัสที่ฉันไม่ต้องการให้สวิตช์อยู่ในActivity
ไฟล์. enum เป็นแบบคงที่เนื่องจากฉันต้องการเข้าถึงจากหลายกิจกรรม
OnClickListener
) ถูกกำหนดโดยDialogInterface
อินเทอร์เฟซที่ฉันต้องใช้
case GUIDE_VIEW_SEVEN_DAY
หลังจากการนำเข้าที่เหมาะสม คุณมีปัญหาอะไร