Comment faites défiler vers le bas d'un RecyclerView? scrollToPosition ne fonctionne pas

J'aimerais faire défiler vers le bas de la RecyclerView liste après le chargement de l'activité.

GENERIC_MESSAGE_LIST = (ArrayList) intent.getExtras().getParcelableArrayList(ConversationsAdapter.EXTRA_MESSAGE);
conversationView = (RecyclerView) findViewById(R.id.list_messages);
conversationView.setHasFixedSize(true);
conversationViewLayoutManager = new LinearLayoutManager(this);
conversationView.setLayoutManager(conversationViewLayoutManager);
conversationViewAdapter = new ConversationAdapter(GENERIC_MESSAGE_LIST, this);
conversationView.setAdapter(conversationViewAdapter);

conversationView.scrollTo(...) déclenche une exception n'étant pas pris en charge dans RecyclerView, et conversationView.scrollToPosition(...) ne semble pas faire quoi que ce soit.

Après le bloc de code, j'ai ajouté

conversationView.scrollToPosition(GENERIC_MESSAGE_LIST.size() + 1)

qui ne fonctionne pas. Il y a 30 éléments dans GENERIC_MESSAGE_LIST.

  • Êtes-vous en faveur scrollToPosition immédiatement après la définition de la carte?
  • oui, c'est juste après conversationView.setAdapter(conversationViewAdapter);.
  • C'est probablement parce que vous êtes en appelant le +1 au lieu de -1 pour le 5ème élément serait la position [4], car il commence à 0. Faire +1 serait de vous donner un ArrayOutOfBounds ... n'est-ce pas planter là?
  • Ajouter, après setadapter mRecyclerView.scrollToPosition(carsList.size()-1);