j'ai besoin de charger des images de la carte Sd dans gridview. Pour plus d'efficacité, j'utilise Picasso Library
Picasso.with(activity).load(images.get(position).getDataPath())
.resize(96, 96).centerCrop().into(viewHolder.image);
J'ai utilisé le code suivant dans l'adaptateur. Malheureusement, je ne peux voir aucune image, alors s'il vous plaît, quelqu'un peut vous aider.
Note Et n'importe qui peut aussi suggérer n'importe quelle bibliothèque efficace de chargement d'image pour charger les images de la carte SD.
Condition Je ne charge pas l'image à chaque fois lors du défilement. S'il est déjà chargé, ne chargez pas l'image lors du défilement
Pour charger le fichier, vous devez d'abord le convertir en uri
Uri uri = Uri.fromFile(new File(images.get(position).getDataPath()));
Picasso.with(activity).load(uri)
.resize(96, 96).centerCrop().into(viewHolder.image);
Condition Je ne charge pas l'image à chaque fois lors du défilement. S'il est déjà chargé, ne chargez pas l'image lors du défilement
Dans Picasso version 2.5.2, vous devez passer un fichier comme argument pour charger la méthode, de sorte que l'image puisse être chargée comme:
Picasso.with(context).load(new File(images.get(position).getDataPath()))
.resize(96, 96).centerCrop().into(viewHolder.image);
Je ne voulais pas créer de new File
car si le chemin a déjà été obtenu à partir d'un fichier existant, il n'est pas nécessaire de créer un nouvel objet (vous voulez voir l'image déjà existante dans l'appareil).
Selon la documentation de Picasso, vous devez faire quelque chose comme ceci: file:///Android_asset/DvpvklR.png
Alors j'avais l'habitude d'avoir: /storage/sdcard/Pictures/findyoursport/yoursport_1482358052384.jpeg
Prepending: file://
a fait l'affaire