Estoy trabajando en un proyecto de Android, y tengo un montón de documentos arrastrables. Estos dibujables se nombran como icon_0.png
, icon_1.png
... icon_100.png
. Quiero agregar todos los identificadores de recursos de estos objetos dibujables a una ArrayList de enteros. (Para aquellos que no conocen Android, solo Java, estoy hablando de variables estáticas, en una clase interna estática de una clase, como R.drawable.icon_0
. Todas estas variables estáticas son enteros).Variables de acceso por nombre en un bucle
¿Hay una forma más eficiente? forma de hacer esto, que agregarlos uno por uno? Como
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(R.drawable.icon_1);
list.add(R.drawable.icon_2);
...
list.add(R.drawable.icon_100);
¿Puedo recorrerlos de alguna manera? Al igual que
for(int i=0; i<100; i++)
{
list.add(R.drawable.icon_+i); //<--- I know this doesn't work.
}
tengo ningún control sobre el archivo donde estos números enteros son estáticas, y no puedo crear las dibujables en tiempo de ejecución.
¡Cualquier ayuda sería apreciada!
EDITAR
bien, leí las respuestas, pero tengo un problema importante: no tengo acceso a cualquier Context
casos en los que necesito para crear esta matriz/lista de identificadores (lo hago en un bloque de inicializador estático), por lo que el método getResources(), dos de las respuestas sugeridas no funcionarán. ¿Hay otra manera de hacer esto?
http://stackoverflow.com/questions/2414134/dynamically-get-drawables-by-id –