J'ai développé une application de chat où je peux envoyer et recevoir des messages. Mais le problème est que chaque fois que j'envoie ou reçois des messages, la vue du recycleur ne défile pas vers le haut afin que les messages s'affichent au-dessus du clavier.
J'ai utilisé la vue recycleur mentionnée ci-dessus Android.support.v7.widget.RecyclerView
.
Lors de la mise à jour de recyclerview, essayez d'exécuter ce code:
recyclerView.post(new Runnable() {
@Override
public void run() {
// Call smooth scroll
recyclerView.smoothScrollToPosition(adapter.getItemCount() - 1);
}
});
J'utilise le code suivant pour que le défilement soit automatique jusqu'à la dernière position:
recyclerView.smoothScrollToPosition(adapter.getItemCount());
J'implémente pour ajouter un nouvel élément à la liste.
Essayez la méthode ci-dessous pour faire défiler automatiquement jusqu'à votre position particulière.
adapter = new DeliveriesDateRecycleAdapter(getActivity(),sampleDatedate, position);
recyclerviewDates.setAdapter(adapter);
adapter.notifyDataSetChanged();
recyclerviewDates.smoothScrollToPosition(position);
Remarque: position - la position de la liste que vous souhaitez afficher.
Avez-vous essayé RecyclerView.srollTo(int x, int y)
?
Modifier: essayez RecyclerView.scrollTo(0, 0)
directement après avoir envoyé ou reçu le dernier message.