J'essaie d'afficher des images dans un GridView. Cette vue de grille est remplie par un adaptateur. J'ai toujours eu le problème que l'application est très laggy quand elle gonfle une nouvelle carte. Après quelques recherches sur Internet j'ai trouvé Glide, ce qui pourrait peut-être aider à améliorer la performance.Trouver le contexte de Glide Android
Maintenant, je suis coincé parce que je ne peux pas imaginer quel contexte je devrais passer à Glide.with (...):
Glide.with(**CONTEXT**).load(sights.get(i).mImageRessourceID).into(sightViewHolder.sightPhoto);
Pour construire les cartes i utilise: MainActivity -> Fragment - > Adaptateur.
C'est le code de l'adaptateur:
public class SightCardAdapter extends RecyclerView.Adapter<SightCardAdapter.SightViewHolder> {
public static class SightViewHolder extends RecyclerView.ViewHolder {
CardView cv;
TextView sightName;
ImageView sightPhoto;
SightViewHolder(View itemView) {
super(itemView);
cv = (CardView) itemView.findViewById(R.id.cv);
sightName = (TextView) itemView.findViewById(R.id.sight_name);
sightPhoto = (ImageView) itemView.findViewById(R.id.sight_photo);
}
}
List<Sight> sights;
SightCardAdapter(List<Sight> sights) {
this.sights = sights;
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
@Override
public SightViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item, viewGroup, false);
SightViewHolder pvh = new SightViewHolder(v);
return pvh;
}
@Override
public void onBindViewHolder(SightViewHolder sightViewHolder, int i) {
sightViewHolder.sightName.setText(sights.get(i).mName);
//sightViewHolder.sightPhoto.setImageResource(sights.get(i).mImageRessourceID);
Glide.with().load(sights.get(i).mImageRessourceID).into(sightViewHolder.sightPhoto); // missing context
}
@Override
public int getItemCount() {
return sights.size();
}
}
Quelqu'un peut-il s'il vous plaît me donner quelques indices? Je ne peux pas l'image ce que je devrais passer
PS:. De plus, si quelqu'un a des Tipps comment rendre mon code plus efficace, je serais très reconnaissant :)
contexte Pass adaptateur - SightViewHolder (Voir itemView, contexte de contexte) – MinnuKaAnae
de la même manière que vous passé à LayoutInflater.from ... indice: quelle méthode de quelle classe l'avez-vous utilisée? – Selvin
passe contexte en tant que paramètre se référer à la réponse de Sataym http://stackoverflow.com/a/43518232/3578677 –