Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android滚动到列表视图的底部_Android_Listview_Scroll - Fatal编程技术网

Android滚动到列表视图的底部

Android滚动到列表视图的底部,android,listview,scroll,Android,Listview,Scroll,这不是重复另一个问题。。这更像是一种扩张。我希望:) 我有一个列表视图,其中有几百个项目。。它们是另一个视图中带有日期戳的条目 当我显示屏幕时,我希望它滚动到底部,以便显示最新的项目,但以一种合乎逻辑的“结束”方式显示 m_list.setSelection(m_list.getCount()-1); Kewl作为。。。但是:(现在我的列表不会滚动了。它似乎卡在底部。我可以看到“卡车”,它很小,在底部 好的..所以我的问题是..我如何从滚动到底部开始,但仍然允许用户(我)在他们(我)想要向上滚

这不是重复另一个问题。。这更像是一种扩张。我希望:)

我有一个列表视图,其中有几百个项目。。它们是另一个视图中带有日期戳的条目

当我显示屏幕时,我希望它滚动到底部,以便显示最新的项目,但以一种合乎逻辑的“结束”方式显示

m_list.setSelection(m_list.getCount()-1);
Kewl作为。。。但是:(现在我的列表不会滚动了。它似乎卡在底部。我可以看到“卡车”,它很小,在底部


好的..所以我的问题是..我如何从滚动到底部开始,但仍然允许用户(我)在他们(我)想要向上滚动时向上滚动。

您可以使用以下代码到达列表视图的底部

listView.postDelayed(new Runnable() {
        @Override
        public void run() {
            listView.setSelection(listView.getCount());
        }
    }, 500);
这将设置500毫秒的延迟。或者您可以使用

listView.post(new Runnable() {
        @Override
        public void run() {
            listView.setSelection(listView.getCount());
        }
    });

这将实用地滚动列表视图。

在XML中的
列表视图上设置以下内容

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

你在哪里调用setSelection函数?天哪!这个问题是bril'我在我的ondraw中调用它..它最初是我测试代码的一部分…太棒了!请投票给bril'答案?@MollyCat User如果你解决了这个问题,我能得到正确的答案吗?实际上没有。我已经有了m_list.setTranscriptMode(ListView.TRANSCRIPT\u MODE\u ALWAYS\u SCROLL);在我的代码中。我的列表似乎已锁定。m\u list.setStackFromBottom(true);似乎也没有做任何事情。注意..我没有在XMLI中定义我的ctrl键。我接受了答案,因为一旦我意识到我有一个bug,这和我的代码使一切工作完美。这不会滚动到底部。正如方法名称所示,这会将您的选择设置在最后一项的顶部。如果您的项相当长(比如,长标题)这没有任何用处。listView.setSelection(listView.getCount());应该是listView.setSelection(listView.getCount()-1);