J'ai RecyclerView, une rangée comprend le texte, l'image. Après le chargement des données, dans un clic de bouton, je veux changer le texte sans recharger l'image de la ligne. J'ai essayé d'utiliser notifyItemChanged (position). Mais il fait l'image rechargeant .. Am en utilisant plané pour le chargement des images, donc quand j'utilise notifyItemChanged (position), vacillante de la ligne se produitRecylerView en changeant un seul paramètre dans une rangée?
Répondre
ligne entière sera rechargée une fois que vous appelez notifyItemChanged()
Deux options:
1) Désactiver par défaut élément de recyclerview d'animation
ItemAnimator animator = recyclerView.getItemAnimator();
if (animator instanceof SimpleItemAnimator) {
((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
}
2) Utiliser espace réservé lors du chargement d'une image
Check ce Glide official link pour résoudre le problème avec espace réservé
essayé de ne pas travailler –
L'animateur devrait aider, c'est un bon sorcier! Cependant, je ne pense pas que la deuxième option soit applicable ici, car l'image reste la même; ce qui signifie qu'il sera chargé de mémoire-cache de manière synchrone et par conséquent le '.placeholder' ne sera pas utilisé, ni aucune animation sera jouée par Glide. – TWiStErRob
Oh..Yes. Exactement. – Wizard
vous pouvez désactiver la place vacillante ... – Wizard
???????????????????????? –
Je voulais dire que vous pouvez empêcher la ligne de scintiller ... – Wizard