Aller au contenu

ImageView dynamique


slevin

Recommended Posts

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é par slevin
Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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 .

Lien vers le commentaire
Partager sur d’autres sites

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?

Lien vers le commentaire
Partager sur d’autres sites

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é par slevin
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...