Home > Software design >  The RecyclerView scrolls to downward when a new message is added
The RecyclerView scrolls to downward when a new message is added

Time:09-01

I have a chat app. I used RecyclerView and I set stackFromEnd true and reverseLayout false to LinearlayoutManager. when a new message is added at the bottom I mean at the end of the list the recyclerView starts auto scroll downward instead of upward. the adapter is notified by notifyItemInserted().

Expected Behaviour: When a new message is added to the list it should scroll to the bottom or upward. Any help is appreciated. Thanks

CodePudding user response:

Let's suppose your adapter is populated by objects called messages and you have a source of data called messageList (could be a Collection, etc) that is passed to your adapter. You could do something like this:

        int position = messageList.size() > 0 ? (messageList.size()-1) : 0;
        mRecyclerView.smoothScrollToPosition(position);

Just ensure your adapter is not null and actually gets data from messageList since this is in your Activity/Fragment class and not in the adapter class.

CodePudding user response:

You can scrolldown progrmatically using code below

recyclerView.scrollToPosition(chatList.size() - 1);

You can also try another solution if above one doesn't works

setStackFromEnd(true) or setReverseLayout(true)
  • Related