Convertir un string en drawable

Résolu/Fermé
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - Modifié le 13 mars 2020 à 09:12
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - 25 mars 2020 à 09:55
Bonjour,
J'effectue ma première application android et je désire changer l'image de mes vues en fonction d'un string que je récupère. Cependant imageView n'as pas de méthode qui permet de modifie l'image grâce a un string, du coup je je suis porter vers un drawable comme suit :
        imageCarte.setImageResource(R.drawable.stringImage);


Mais du coup il faudrait que je caste ou transforme ce string, mais un caste habituelle ne fonctionne pas...
Auriez vous une solution a me propose ?
Cordialement.

2 réponses

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 3 894
13 mars 2020 à 08:49
Bonjour,

Il va falloir être plus clair, je ne comprends pas cette histoire de string. Que contient cette string ? Une url ?
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
13 mars 2020 à 10:11
Bonjour ,
J'ai un string qui contient le nom de mon image et j'aimerais a partir de ce string le transformé en image.
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 3 894 > Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
13 mars 2020 à 10:14
ça veut dire quoi "le nom de mon image" ? Genre "image.jpg" ? Ou "photo de robot" ? Ou "http://site/image.jpg" ?
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 > BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024
19 mars 2020 à 18:07
Oui par nom d'image j’entendais une image genre : "image.jpg".
Mais j'ai trouver une astuce, même si je sais pas si c'est vraiment bien ce que je fais ...
Voici mon code :
        imageCarte.setImageResource(R.drawable.monimage);
        Bitmap bm = BitmapFactory.decodeResource(getResources(), getResources().getIdentifier(param2, "drawable", getContext().getPackageName()));
        imageCarte.setImageBitmap(bm);

0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 3 894 > Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
19 mars 2020 à 18:38
Je ne comprends pas...
Tu mets une image avec
setImageResource()
et une autre, sur la même
ImageView
avec
setImageBitmap()
? Pourquoi ? L'image mise avec la 1ère ligne n'est pas visible. De plus, a priori, tu utilises la 2e méthode avec une ressource...or c'est la 1ère que tu devrais utiliser.

J'essaie de comprendre...tu as une ressource dans ton projet qui s'appelle, mettons, image.jpg, stocké dans un répertoire drawable ? Et, dans ton projet, au lieu de manipuler l'id R.drawable.image, tu utilises la string "image.jpg" ? Pourquoi ? Ce n'est généralement pas la manière de procéder...
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 > BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024
19 mars 2020 à 19:51
Mon vrai code est :
        Bitmap bm = BitmapFactory.decodeResource(getResources(), getResources().getIdentifier(param2, "drawable", getContext().getPackageName()));
        imageCarte.setImageBitmap(bm);


j'ai fais une erreur à la copie, et j'utilise un string car c'est comme ça que j'ai instancié dans ma bdd, mais vous avez raison ça serait plus simple.
0
Tu veux transformer en cliquamnt sur l'image ou de quel facon? Je ne comprend pas ton probleme
0