0

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?

+0

vous pouvez désactiver la place vacillante ... – Wizard

+0

???????????????????????? –

+0

Je voulais dire que vous pouvez empêcher la ligne de scintiller ... – Wizard

Répondre

1

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é

+0

essayé de ne pas travailler –

+1

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

+0

Oh..Yes. Exactement. – Wizard