Как заставить переработчика отображать последнее сообщение непосредственно при открытии чата? - PullRequest
0 голосов
/ 19 апреля 2020

Recycler прокручивает каждое сообщение (от самого старого до самого последнего) всякий раз, когда я открываю активность чата. Если есть 100 сообщений, когда я открываю чат, мне приходится сидеть там в течение нескольких секунд, пока все 100 предыдущих сообщений прокручиваются мимо экрана, пока не дойдет до самого последнего.

Когда я открываю приложение WhatsApp для Например, я не вижу все старые сообщения между мной и моими друзьями, которые прокручиваются перед моими глазами, прежде чем я получу самое последнее сообщение. Открывается непосредственно к самым последним сообщениям. Это поведение, которое я хочу.

Есть идеи о подходе? Это единственное место, где я использую метод smoothScroll в своей активности в чате. Все отлично работает, кроме этого поведения. Я бы не хотел, чтобы пользователь ждал 1000 сообщений, чтобы прокрутить его глаза, прежде чем перейти к самому последнему сообщению.

public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

    Messages messages = dataSnapshot.getValue(Messages.class);

    chatMessagesList.add(messages);
    messageAdapter.notifyDataSetChanged();
    chatReceyclerView.smoothScrollToPosition(chatReceyclerView.getAdapter().getItemCount());

}
...