2010-03-29 24 views

Trả lời

30

Sử dụng phương thức getFields trên lớp có thể vẽ, bạn có thể lặp qua toàn bộ danh sách các đối tượng có thể kéo.

Field[] drawables = android.R.drawable.class.getFields(); 
for (Field f : drawables) { 
    try { 
     System.out.println("R.drawable." + f.getName()); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

tham khảo: http://www.darshancomputing.com/android/1.5-drawables.html

+6

bằng cách sử dụng 'android.R' sẽ chỉ cung cấp nội dung có thể vẽ bản địa trong SDK Android. Để có thể rút ra các ứng dụng của bạn, hãy sử dụng 'com.example.appname.R' – Anonsage

+0

Tại sao bạn lại gặp ngoại lệ chung? –

+0

Tôi không chắc chắn - đã khá lâu kể từ khi tôi viết câu trả lời này. Phải có lý do .. – Seidr

0

Nếu bạn nhìn vào bên trong đối tượng R.drawable được tạo, bạn sẽ thấy các ID tiếp giáp, trong trường hợp của tôi (và có thể là của bạn) bắt đầu từ 0x7f020000. Vì chúng dường như được sắp xếp theo alpha, bạn có thể thêm hình ảnh giả mạo AAAAAAA.png và ZZZZZZ.png và lặp lại giữa hai ID độc quyền.

Tôi không thể xác nhận lý do của bạn để thực hiện việc này, nhưng tôi cho rằng điều đó sẽ hiệu quả.

+0

Bạn nói đúng. Xem câu trả lời của tôi ở đây: http://stackoverflow.com/a/19131585/1287856 Nó cũng hoạt động để lặp lại trong thư mục/thư mục thô cũng như thư mục xml /. –

Các vấn đề liên quan