Tôi đã xem nhiều phần Hỏi & Đáp khác nhau trên SO tương tự như câu hỏi này nhưng chưa tìm ra giải pháp.
Những gì tôi có là một enum đại diện cho các cách khác nhau để xem Hướng dẫn TV ...
Trong Application
lớp NDroid
static enum guideView {
GUIDE_VIEW_SEVEN_DAY,
GUIDE_VIEW_NOW_SHOWING,
GUIDE_VIEW_ALL_TIMESLOTS
}
... khi người dùng thay đổi chế độ xem, trình xử lý sự kiện sẽ nhận được giá trị int
từ 0-2 và tôi muốn làm điều gì đó như thế này ...
Trong Activity
onClick(DialogInterface dialog, int which)
trình xử lý sự kiện Android
// 'which' is an int from 0-2
switch (which) {
case NDroid.guideView.GUIDE_VIEW_SEVEN_DAY:
...
break;
}
Tôi đã quen với C # enums và các câu lệnh select / case sẽ cho phép một cái gì đó như trên và tôi biết Java làm những việc khác nhau nhưng tôi không thể hiểu được những gì tôi cần làm.
Tôi sẽ phải sử dụng đến các if
tuyên bố? Có thể sẽ chỉ có 3 lựa chọn để tôi có thể làm điều đó nhưng tôi tự hỏi làm thế nào nó có thể được thực hiện với switch-case trong Java.
BIÊN TẬP Xin lỗi, tôi không mở rộng hoàn toàn về vấn đề này vì tôi đang xem nó là một vấn đề Java chung chung. Tôi đã thêm vào câu hỏi để giải thích thêm một chút.
Không có bất cứ thứ gì dành riêng cho Android, đó là lý do tại sao tôi không gắn thẻ nó là Android nhưng enum được xác định trong Application
lớp và mã nơi tôi không có công tắc Activity
. Enum là tĩnh vì tôi cần truy cập nó từ nhiều Hoạt động.
OnClickListener
) được xác định bởi DialogInterface
giao diện mà tôi phải triển khai.
case GUIDE_VIEW_SEVEN_DAY
sau khi nhập khẩu thích hợp; Có vấn đề gì bạn đang có?