Lista vista: desplazamiento suave hacia abajo

Cuando se hace clic en un button, me gustaría que la aplicación se desplace suavemente hacia la parte inferior de una vista de list. Actualmente esta es mi implementación (kotlin)

listview.post { listview.smoothScrollToPosition(adapter.count - 1) } 

Sin embargo, esto no siempre funciona correctamente: algunos elementos de la list contienen algunas partes expandibles (es decir, vista cuya visibilidad puede ser VISIBLE o GONE), que inicialmente están ocultas. Sin embargo, cuando estas partes se expanden, la function a veces no se desplaza hacia el final, sino hacia una position antes del final.

¿Cómo puedo desplazarme de manera confiable hasta el final de la vista de list?

Intenta seguir. resolverá tu problema, lo intenté y funciona muy bien.

 listView.post(new Runnable(){ public void run() { listView.setSelection(listView.getCount() - 1); }});