Đối với kiểu liệt kê, bạn có thể có được một mảng của tất cả các hằng số và vòng qua chúng rất dễ dàng sử dụng mã như thế này:
for(YourEnum value: YourEnum.values()){
System.out.println("name="+value.name());
}
Tuy nhiên, lớp Sensor bạn liên kết đến không phải là một liệt kê, nhưng chứa một danh sách các hằng số. Không có cách nào để lập trình vòng lặp trên danh sách đó như một liệt kê mà không chỉ rõ tất cả các tên hằng số.
Tuy nhiên, bạn có thể tạo một tra cứu tĩnh mà các bản đồ các ints để String giá trị mà bạn muốn sử dụng, ví dụ
Map<Integer,String> lookup = new HashMap<Integer,String>();
lookup.put(TYPE_ACCELEROMETER,"Accelerometer");
//Code a put for each TYPE, with the string you want to use as the name
Bạn có thể sử dụng như thế này:
Log.d("SENSORTYPE","Type: " + lookup.get(tempSensor.getType()));
Cách tiếp cận này có nghĩa là bạn vẫn phải viết ra từng hằng số và cập nhật danh sách nếu các hằng số thay đổi, nhưng bạn chỉ phải thực hiện nó một lần. Nó sẽ là một ý tưởng tốt để bọc tra cứu trong một số loại phương pháp trợ giúp hoặc lớp tùy thuộc vào cách rộng rãi bạn muốn tái sử dụng nó.
không phải là "getName()" phương pháp làm việc ?? – rajpara