slevin Posté(e) 11 janvier 2010 Share Posté(e) 11 janvier 2010 (modifié) Bonjour, Voilà je m'explique : Je voulais savoir comment faire pour attribuer dynamiquement une image à un composant imageview contenu dans un fichier xml. Dans le dossier res/drawable se trouve toutes les images que j'ai besoin et dans mon fichier xml, j'ai ceci : android:layout_width="fill_parent" android:layout_height="50px" xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="center"> android:layout_width="wrap_content" android:layout_height="wrap_content"> android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center"> android:layout_width="wrap_content" android:layout_height="wrap_content"> Merci. Modifié 11 janvier 2010 par slevin Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 11 janvier 2010 Share Posté(e) 11 janvier 2010 Dé mémoire, ca doit être : ImageView imgVw = (ImageView)findViewById(R.id.ImageView01); imgVw.setImageResource(R.drawable.mon_image); Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
slevin Posté(e) 11 janvier 2010 Auteur Share Posté(e) 11 janvier 2010 Dé mémoire, ca doit être : ImageView imgVw = (ImageView)findViewById(R.id.ImageView01); imgVw.setImageResource(R.drawable.mon_image); Effectivement c'est bien comme ça. Mais mon problème est le suivant : admettons que j'ai une listview avec 3 items : "Chat,Chien,Tigre" et que dans mon dossier res/drawable j'ai 3 images : Chat.jpg Chien.jpg et Tigre.jpg Comment faire pour affecter dynamiquement l'imageview en fonction du choix de la listview ? J'arrive déjà à récupérer la valeur de l'item sélectionné dans la listview mais lorsque je fais appel à la fonction sivante : SetImageResource et bien je dois mettre en dur le nom de l'image alors que je voudrais que ce soit dynamique. Je sait pas si c'est compréhensible ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cyril Mottier Posté(e) 11 janvier 2010 Share Posté(e) 11 janvier 2010 Il faut conserver un tableau (private static final int[] ANIMALS) des ResID de tes types (chien, chat, tigre). Ensuite il te suffit de modifier l'image associée à ton ImageView par un simple mImageView.setImageResource(ANIMALS[type]). Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
slevin Posté(e) 11 janvier 2010 Auteur Share Posté(e) 11 janvier 2010 Il faut conserver un tableau (private static final int[] ANIMALS) des ResID de tes types (chien, chat, tigre). Ensuite il te suffit de modifier l'image associée à ton ImageView par un simple mImageView.setImageResource(ANIMALS[type]). Merci je vais m'orienté vers cette solution. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
slevin Posté(e) 11 janvier 2010 Auteur Share Posté(e) 11 janvier 2010 Il faut conserver un tableau (private static final int[] ANIMALS) des ResID de tes types (chien' date=' chat, tigre). Ensuite il te suffit de modifier l'image associée à ton ImageView par un simple mImageView.setImageResource(ANIMALS[type']). Merci je vais m'orienté vers cette solution. Je bloque sur un truc : Sachant que j'ai un tableau de mes ResId nommé ANIMALS, et que j'ai en ma possession une varaible de type String contenant le nom de l'animal récupérer dans la liste , comment faire pour récupérer le bon ResId dans le tableau lié au String que j'ai en ma possession ? Je pense que c'est simple, mais bon dès fois on bloque sur des choses simples . Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cyril Mottier Posté(e) 11 janvier 2010 Share Posté(e) 11 janvier 2010 Je n'avais pas compris ça :p. Le mieux serait d'avoir des types d'animaux représenter par des entiers pour utiliser la méthode donnée ci-dessus. Si tu souhaite conserver ta représentation des types par String il te faudra une structure de données du genre de HashMap. Malheureusement, ce genre de structure de données n'est pas vraiment adaptée dans ton cas car elle engendre la création d'objets (des Integers). Tu es sûr que transposer ton chien, char, tigre en 0, 1 et 2 n'est pas possible? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 11 janvier 2010 Share Posté(e) 11 janvier 2010 (modifié) La 1ere réponse de ce sujet te convient-elle? https://www.frandroid.com/forum/viewtopic.php?id=5115 Je pense avoir posé la même question que toi il y a peu de temps... :P Modifié 11 janvier 2010 par Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
slevin Posté(e) 11 janvier 2010 Auteur Share Posté(e) 11 janvier 2010 (modifié) Effectivement Profete162 j'avais pas vu que ton sujet traitait de ce problème là. En même temps j'[color=red][b]été[/b][/color] focalisé sur imageview donc c'est pour ça que j'ai pas vu ton topic. Je vais voir ça. Par contre peux-tu voir la question que je t'ai posé sur le topic concernant les listview ? merci. Modifié 11 janvier 2010 par slevin Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 11 janvier 2010 Share Posté(e) 11 janvier 2010 Par contre peux-tu voir la question que je t'ai posé sur le topic concernant les listview ?. Laquelle? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.