ListView:平滑滚动到底部

当一个按钮被点击,我想应用程序顺利滚动到列表视图的底部。 目前这是我的执行(kotlin)

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

然而,这并不总是正常工作:一些列表项目包含一些可扩展的部分(即其可见性可以是可见或无效的视图),最初是隐藏的。 但是,当这些部分展开时,该function有时不会滚动到结尾,而是滚动到结束之前的位置。

我怎样才能可靠地滚动到列表视图的末尾?

尝试以下。 它会解决你的问题,我试了一下,它效果很好。

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