Я знаю, что на этот вопрос ответили, и вы взяли ответ, и это было больше года назад. Но лучший способ сделать это - Transcript Mode. Демонстрацию см. В демонстрации Android API в разделе «Представления»> «Списки»> «Стенограмма».
Вы бы установили следующее в своем представлении списка в XML.
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"
Это всегда будет работать всякий раз, когда вы звоните notifyDataSetChanged()
. Вместо этого вы можете установить android:transcriptMode
на normal
, если хотите получить еще лучший результат для приложений чата: он будет прокручиваться вниз, только если последний элемент уже просматривался. Таким образом, ваши пользователи смогут просматривать предыдущий чат без перерыва, когда другие пользователи общаются.