web-dev-qa-db-fra.com

Android - Comment charger une image par son nom en utilisant Glide

Salut, j'utilise Glide pour charger l'image de mon dossier dessinable et tout fonctionne bien, voici mon code:

Glide.with(this).load(R.drawable.my_drawable_image_name).into(myImageView);

je me demande s'il existe un moyen de charger l'image juste par son nom, quelque chose comme:

Glide.with(this).load(my_drawable_image_name).into(myImageView);

parce que je veux obtenir le nom de l'image de manière dynamique, par exemple à partir d'une base de données ...

avez-vous une suggestion à ce sujet? Merci d'avance.

18
James

Appelez la méthode getImage pour obtenir Drawable en utilisant uniquement le nom.

Glide.with(this).load(getImage(my_drawable_image_name)).into(myImageView);

public int getImage(String imageName) {

    int drawableResourceId = this.getResources().getIdentifier(imageName, "drawable", this.getPackageName());

    return drawableResourceId;
}
31
Narendra Sorathiya

Essayez ceci:

Glide.with(this)
.load(getResources()
.getIdentifier("my_drawable_image_name", "drawable", this.getPackageName())
.into(myImageView);
7
Hamlet Mendez

Utilisez Uri.

String image = "image.jpg";
    String completePath = Environment.getExternalStorageDirectory() + "/" + image;

    File file = new File(completePath);
    Uri uri = Uri.fromFile(file);

    Glide.with(this).load(uri).into(imageView);
3
josedlujan