Bonjour,
J'ai créé la méthode suivante pour afficher une photo :
j'ai plusieurs photos qui correspondent à des mots comme vous pouvez le voir dans le remplissage de ma HashMap :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public void afficherImage(String path) { ImageView iv = (ImageView) this.findViewById(this.getResources().getIdentifier("image", "id", this.getPackageName())); int ident = getResources().getIdentifier(path, "drawable", getPackageName()); iv.setImageResource(ident); }
Les photos sont dans le dossier drawable-hdpi et toutes portent la même extension .jpg sauf poule qui est en jpeg ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public Dao(){ //Singleton String s1 ="POULE"; String i1 = "poule_336"; String s2 ="VOITURE"; String i2 = "voiture"; String s3 ="MAISON"; String i3 = "maison"; String s4 ="CHEVAL"; String i4 = "cheval"; bddImage = new HashMap<String, String>(); bddImage.put(s1, i1); bddImage.put(s2, i2); bddImage.put(s3, i3); bddImage.put(s4, i4); }
A ce stade, seules les photos de poule et de maison s'affichent. Puis, j'ai décidé de rajouter les photos cheval.jpg et voiture.jpg dans le même répertoire drawable-hdpi.
Problème : les nouvelles photos ne s'affichent pas (cheval et voiture) et j'aimerais bien savoir pourquoi ?
J'ai identifié avec le débugger que la ligne suivante position ident à zéro (ce qui signifie que la photo n'a pas été toruvée dans les drawables) :
J'ai vérifié au debugger que la variable "path" dans la fonction afficherImage contient la bonne variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part int ident = getResources().getIdentifier(path, "drawable", getPackageName());
J'ai vérifié que le nom du fichier image contenu dans drawable-hdpi soit identique au nom que j'ai saisi pour la fabrication de la hashMap.
Une idée s'il vous plaît ??????
J'ai fait un test :
J'ai remplacé les photos qui ne s'affichent pas par des photos qui normalement s'affichent et je leur ai donné le nom de la photo qui ne s'affiche pas. Résultat : pas d'affichage.
J'ai aussi remplacé, dans la construction du hashMap, les noms des photos qui ne s'affichent pas par des noms de photos qui s'affichent. Résultat : affichage des photos.
Donc il y a un problème avec le nom des photos ... bizare !
Si vous avez besoin de plus de renseignements pour m'aider, n'hésitez pas à me demandermerci d'avance !
![]()
Partager