2010-03-29 19 views

Respuesta

30

Usando el método getFields en la clase dibujable, puede recorrer la lista completa de elementos dibujables.

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

Referencia: http://www.darshancomputing.com/android/1.5-drawables.html

+6

usando 'android.R' dará solo los objetos arrastrables nativos en el SDK de Android. Para obtener los elementos extraíbles de su aplicación, use 'com.example.appname.R' – Anonsage

+0

¿Por qué atrapa una excepción genérica? –

+0

No estoy seguro, ha pasado bastante tiempo desde que escribí esta respuesta. Debe haber habido una razón ... – Seidr

0

Si mira dentro de su objeto R.drawable generado, verá que los ID son contiguos, en mi caso (y probablemente el suyo) a partir de 0x7f020000. Como parecen ordenarse alfabéticamente, probablemente puedas agregar imágenes ficticias AAAAAAA.png y ZZZZZZ.png e iterar entre las dos ID exclusivamente.

No puedo respaldar sus razones para intentar esto, pero creo que eso funcionaría.

+0

Tiene usted razón. Vea mi respuesta aquí: http://stackoverflow.com/a/19131585/1287856 También funciona para iterar en la carpeta raw/así como en la carpeta xml /. –

Cuestiones relacionadas