Je charge des images dans ArrayList, puis je le règle sur RecylerView avec GridLayout. Les images sont chargées et tout a l'air bien. Mais quand je fais défiler le RecylerView il commence à être en retard. Bien que les images soient complètement chargées, il y a un décalage pendant le défilement. Certaines réponses que j'ai trouvées concernaient le chargement paresseux des images ou l'utilisation de bibliothèques Glide ou Picasso. Mais comment puis-je l'implémenter? Voici comment j'ajoute des images.RecylerView Lags lors de l'ajout d'images de Drawable à ArrayList
MainActivity:
int imageArray[] = new int[]{
R.drawable.one,
R.drawable.two, R.drawable.three,
R.drawable.four,R.drawable.five,...
};
private ArrayList prepareData(){
ArrayList arrayList = new ArrayList();
for(int i=0;i<names.length;i++){
MyModel myModel = new MyModel();
myModel.setDrawable(imageArray[i]);
arrayList.add(myModel);
}
return arrayList;
}
Voici mon code Adaptateur:
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.images_card, viewGroup, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
viewHolder.tv_logo.setImageResource(mArrayList.get(i).getDrawable());
}
Je n'utilise pas Glide ou Picasso et je dois ajouter ce code où? – Rohn
vous devez ajouter compiler 'com.github.bumptech.glide: glide: 4.0.0' dans votre fichier .gradle et ensuite utiliser le code ci-dessus dans votre adaptateur –