У меня есть RecyclerView
, который я использую для отображения сообщений в виде текстового приложения. Под этим я подразумеваю, что новые сообщения, добавленные в RecyclerView
, должны отображаться внизу.
В настоящее время я использую .setStackFromEnd(true)
на своем LinearLayoutManager
, чтобы сообщения отображались снизу:
layMng = new LinearLayoutManager(this);
layMng.setStackFromEnd(true);
mRecyclerView.setLayoutManager(layMng);
mRecyclerView.setAdapter(mAdapter);
Что происходит, когда получено достаточно сообщений и список сообщений вот-вот переполнится за пределы верхней части экрана, он перестанет всегда показывать новые сообщения внизу. Мне приходится вручную прокручивать вниз, чтобы увидеть новые дополнения.
Как я могу заставить его либо всегда отображать новейшее сообщение, либо прокручивать RecyclerView
вниз при получении нового элемента?
Я пробовал различные методы в своем менеджере компоновки, такие как .scrollToPosition()
и .scrollToPositionWithOffset()
, но ни одно из предложений, которые я видел до сих пор, не сработало. Некоторые из самых популярных вопросов StackOverflow по этой проблеме имеют лучшие ответы, которые даже не решают исходный вопрос.
Итак, как это делается?
.scrollToPosition()
, вы вызывали его в диспетчере макетов или в RecyclerView? - person Sammy T   schedule 23.06.2016