如何将列表视图滚动到底部



我虽然这将是一个简单的任务,但显然没有办法将列表视图滚动到底部。我找到的所有解决方案都使用setSelection(lastItem)方法的变体,该方法仅将选择设置为最后一项,但不滚动到其底部。

就我而言,我有一个空的列表视图(设置了一个很长的空视图标题),我想滚动到它的底部。

那么,有没有办法做到这一点呢?

编辑:

因此,对于那些感兴趣的人,工作解决方案是:

getListView().setSelectionFromTop(0, -mHeader.getHeight());

getListView().scrollTo(mOffset)

这也适用于右偏移(根据当前滚动位置计算),但可能会给您一些意外的结果。

如果您希望列表视图始终在底部滚动,即使在动态更新列表视图时也是如此,则可以在列表视图本身中添加这些属性。

android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"

使用以下方法

    lv.setSelection(adapter.getCount() - 1);

如果您想以编程方式进行滚动动画,您可以使用以下方法轻松滚动到列表底部:

listView.smoothScrollToPosition(adapter.getCount());

滚动到列表顶部的大部分可以使用:

listView.smoothScrollToPosition(0);

试试这个..它会解决你的问题,我试过了,效果很好。

   listView.post(new Runnable(){
             public void run() {
             listView.setSelection(listView.getCount() - 1);
    }});
private void scrollMyListViewToBottom() {
    myListView.post(new Runnable() {
        @Override
        public void run() {
            // Select the last row so it will scroll into view...
            myListView.setSelection(myListAdapter.getCount() - 1);
        }
    });
}

它为我工作

使用以下并尝试。

listview.setSelection(adapter.getCount()-1);

您可能想尝试myListView.smoothScrollToPosition(myListView.getCount() - 1) 。这样,您就不会被迫选择最后一行。另外,您可以获得一些流畅,美丽的滚动!(:

我遇到了同样的问题,这对我最有效

listView.setSelection(listView.getAdapter().getCount()-1);

如果没有为列表视图设置适配器,则它根本没有子项,空视图不是列表视图的子项<</p>

div class="one_answers">

尝试使用list.scrollTo(0, list.getHeight());

相关内容

  • 没有找到相关文章

最新更新