Recorrer drawables obteniendo su id y su nombre, solución a "code too large"

Con el siguiente snippet de código podéis recorrer todos los recursos de la aplicación e ir uno a uno obteniendo su nombre y su identificador de recurso.

Puede parecer una tontería pero es especialmente útil para por ejemplo cargar un array con los recursos que empiezan llamándose de una forma. Por ejemplo es común utilizar esto cuando se necesita un array con imaginad 800 recursos cargados en un cuerpo static.

( de otra forma obtendríais el poco conocido error de compilación "Code too large").


Field[] drawables = R.drawable.class.getFields();
        R.drawable drawableResources = new R.drawable();
        for (Field f : drawables) {
            try {
                if(f.getName().startsWith("ejemplo_"))
                {
                  arrayRecursos.put(f.getName(),f.getInt(drawableResources));   
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }



Happy coding!.

Comentarios

Entradas populares de este blog

VS2008 C# Centrar un formulario en pantalla.

VS2008 C# Ocultar la primera fila de un DataGridView ( solución para cuando no se deja )

VS2008 C# ComboBox enlazado a datos con primer elemento en blanco