2016-12-25 1 views
2

Je suis en train d'afficher une image dans un ImageView en utilisant la bibliothèque Glide, l'image est dans le dossier res> drawable, et son nom d'un db ren- voyées. Comment puis-je obtenir une ressource en utilisant un Uri?, redWifi.getImagen() renvoie une chaîne comme "imagename.png".Comment définir l'image dans ImageView en utilisant Glide et un URI?

J'utilise le code suivant, mais ne montre pas l'image.

Glide.with(detallesRedGuardadaActivity.this) 
       .load(Uri.parse("file:///android_asset/" + redWifi.getImagen())) 
       .asBitmap() 
       .into(iconoRed); 

J'ai essayé avec .load(Uri.parse("file://android_asset/" + redWifi.getImagen())) mais ne fonctionnait toujours pas.

+0

vous ne avez pas besoin d'une bibliothèque pour définir une image de l'actif. La meilleure chose à faire est de transférer l'image dans le dossier drawable puis utilisez la 'myImageView.setImageResource (R.drawable.image_from_drawable)' –

+0

J'utilise glisse parce que ce code fait partie d'un CursorAdapter et chaque élément a une image pris à partir d'un db, en utilisant myImageview.setImageResource, bloque le thread ui en raison du nombre élevé d'éléments. –

+0

donc le nom de l'image est dans la base de données et vous voulez obtenir la bonne image à chaque fois en fonction du nom de l'image qu'il obtient de la base de données droite? –

Répondre

3

L'URL file:///android_asset/ signifie que vous pointez vers un dossier assets dans votre projet. Si vous ne savez pas où placer ce répertoire, jetez un oeil à la structure du projet avec Gradle here.

Après cela mettre vos images dans ce dossier, et cela devrait fonctionner:

Glide.with(context) 
    .load(Uri.parse("file:///android_asset/"+fileName)) 
    .into(imageView); 
+0

Merci !, je me suis déplacé mon photos au dossier des actifs et cela a fonctionné. –

+0

Vous êtes les bienvenus. Si cela vous a aidé, vous pouvez accepter ma réponse. – GVillani82