Charger une image à partir du dossier des actifs
Je suis en train de charger une image à partir de la asset
dossier, puis attribuez-lui une ImageView
. Je sais que c'est beaucoup mieux si j'utilise le R.id.*
pour cela, mais le principe en est que je ne connais pas l'id de l'image. En gros, je suis en train de charger dynamiquement l'image par l'intermédiaire de son nom de fichier.
Par exemple, au hasard je récupérer un élément dans la database
représentant disons un 'vache', maintenant que mon application n'est pour afficher une image d'un 'vache' via le ImageView
. Ceci est également vrai pour tous les éléments de la database
. (L'hypothèse est, pour chaque élément, il est un équivalent de l'image)
merci d'avance.
MODIFIER
oublié la question, comment puis-je charger l'image à partir de la asset
dossier?
Vous devez vous connecter pour publier un commentaire.
Si vous connaissez le nom de fichier dans le code, en appelant ce ne sera pas un problème:
Votre nom de fichier sera le même nom que drawableName de sorte que vous n'aurez pas à traiter avec les biens.
Caisse code . DANS ce tutoriel, vous pouvez trouver comment charger une image à partir d'actifs dossier.
//chargement de l'image
Vous êtes ici,
Certaines de ces réponses peut répondre à la question mais je n'ai jamais aimé l'un d'eux, donc j'ai fini la rédaction de ce, il ma aider la communauté.
Obtenir
Bitmap
de l'actif:Obtenir
Drawable
de l'actif:Selon Android Developer Documentation de chargement avec bitmap peut dégrader application performane.Voici un lien! Donc, doc suggèrent d'utiliser Glide bibliothèque.
Si vous voulez charger une image à partir du dossier des actifs puis à l'aide de Glide bibliothèque vous aider à alots plus facile.
juste ajouter des dépendances à construire.gradle (Module:app) à partir de https://github.com/bumptech/glide
exemple d'échantillon :
En cas de non travaillé par la méthode ci-dessus : Remplacer ce objet avec vue objet de code ci-dessous (uniquement si vous avez Gonfler l'application de la méthode ci-dessous dans votre code).
Cela a fonctionné dans mon cas d'utilisation:
(voir aussi https://javarevisited.blogspot.com/2014/10/right-way-to-close-inputstream-file-resource-in-java.html)