Pour lister toutes les images du dossier drawable :
Field[] drawables = andrologiciels.bdlistview.R.drawable.class.getFields(); //android
for (Field f : drawables) {
try {
sNomIco = f.getName();
nIdIco = getDrawable(AfficList.this, sNomIco);
//-- on a prefixé par 'x' les images du dossier drawable
if (sNomIco.substring(0, 1).equals("x")) {
Log.d("Custom", sNomIco + "(" + String.valueOf(nIdIco) + ")=" + sNomIco.substring(1, sNomIco.length()));
sNomIco=sNomIco.substring(1, sNomIco.length());
DbHelper.insertContact(dbNumTel, sNomIco, "", "", nIdIco);
} else
Log.d("Systeme", sNomIco);
} catch (Exception e) {
e.printStackTrace();
}
}
A utiliser avec la fonction qui donne l’id des drawables :
//-- Retourne l'identifiant du fichier drawable
public static int getDrawable(Context context, String name)
{ Assert.assertNotNull(context);
Assert.assertNotNull(name);
return context.getResources().getIdentifier(name,
"drawable", context.getPackageName());
}
Une astuce consiste à placer préfixer par une lettre (cf. xxx pour ajouter un caractère devant un ensemble de fichiers) le nom de chaque fichier du dossier afin de pouvoir les sélectionner.
Affichage