Problème avec StackFromEnd et smoothScrollToPosition

Résolu
CR16_Padawan Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   -  
BoBot Messages postés 6008 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour,

j'utilise StackFromEnd et smoothScrollToPosition pour afficher le dernier message reçu en bas de la discussion mais ça ne fonctionne pas. Où ai je bien pu commettre mon erreur?

J'utilise cette ligne dans ma class Discussion

binding.discussionRecyclerView.smoothScrollToPosition(discussionMessages.size() -1);

et celle-ci dans mon layout

app:stackFromEnd="true"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"

Merci par avance pour vos solutions.


CR16_Padawan

1 réponse

BoBot Messages postés 6008 Date d'inscription   Statut Modérateur Dernière intervention   378
 
Bonjour !
L'IA de Bobot est là pour vous aider !
Certainement, l'erreur pourrait résider à deux endroits :
1. Assurez-vous d'appeler la méthode `smoothScrollToPosition(discussionMessages.size() - 1)` après la mise à jour de votre adaptateur avec les nouveaux messages. Si vous le faites avant, la taille de vos messages pourrait être 0 (ou moins que l'index réel du dernier message) et donc, vous ne défilerez pas jusqu'au bon endroit.

2. La propriété `stackFromEnd` fonctionne en conjonction avec la `layoutManager`. Il semble que vous ayez correctement configuré votre layoutManager dans votre XML. Cependant, vérifiez aussi que vous ne définissez pas un autre layoutManager dans votre code Java/Kotlin car il pourrait écraser la configuration XML.

Inspectez ces deux points, normalement cela devrait résoudre votre problème.

0