slevin Posted January 11, 2010 Share Posted January 11, 2010 (edited) 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. Edited January 11, 2010 by slevin Quote Link to comment Share on other sites More sharing options...
Nivek Posted January 11, 2010 Share Posted January 11, 2010 Dé mémoire, ca doit être : ImageView imgVw = (ImageView)findViewById(R.id.ImageView01); imgVw.setImageResource(R.drawable.mon_image); Quote Link to comment Share on other sites More sharing options...
slevin Posted January 11, 2010 Author Share Posted January 11, 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 ? Quote Link to comment Share on other sites More sharing options...
Cyril Mottier Posted January 11, 2010 Share Posted January 11, 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]). Quote Link to comment Share on other sites More sharing options...
slevin Posted January 11, 2010 Author Share Posted January 11, 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. Quote Link to comment Share on other sites More sharing options...
slevin Posted January 11, 2010 Author Share Posted January 11, 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 . Quote Link to comment Share on other sites More sharing options...
Cyril Mottier Posted January 11, 2010 Share Posted January 11, 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? Quote Link to comment Share on other sites More sharing options...
Profete162 Posted January 11, 2010 Share Posted January 11, 2010 (edited) 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 Edited January 11, 2010 by Profete162 Quote Link to comment Share on other sites More sharing options...
slevin Posted January 11, 2010 Author Share Posted January 11, 2010 (edited) 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. Edited January 11, 2010 by slevin Quote Link to comment Share on other sites More sharing options...
Profete162 Posted January 11, 2010 Share Posted January 11, 2010 Par contre peux-tu voir la question que je t'ai posé sur le topic concernant les listview ?. Laquelle? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.