Une approche consisterait à stocker les drawables dans strings.xml sous la forme d'un tableau de chaînes, quelque chose comme ceci :
<string-array name="location_flags">
<item>@drawable/ic_image_name</item>
<item>@drawable/ic_image_name</item>
<item>@drawable/ic_image_name</item>
<item>@drawable/ic_image_name</item>
<item>@drawable/ic_image_name</item>
<item>@drawable/ic_image_name</item>
<item>@drawable/ic_image_name</item>
</string-array>
Ensuite, lisez ce tableau dans votre code d'activité :
TypedArray locationFlags=getResources().obtainTypedArray(R.array.location_flags);
Ensuite, en appliquant la boucle for, vous pouvez obtenir le Drawable quelque chose comme ceci :
for(int i=0i<locationFlags.length();i++)
{
Drawable drawable = locationFlags.getResourceId(i, -1);
}
Assurez-vous de recycler le TypedArray après l'avoir utilisé, car il s'agit d'une ressource partagée :
locationFlags.recycle();