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);