安卓有转录模式 http://developer.android.com/reference/android/widget/AbsListView.html#setTranscriptMode%28int%29当新数据添加到适配器时,允许自动将列表视图滚动到底部。
这可以以某种方式逆转,以便新项目自动添加到列表顶部(“逆转录模式”)
Method 从底部堆栈 http://developer.android.com/reference/android/widget/AbsListView.html#setStackFromBottom%28boolean%29似乎是正确的,但不会在输入更改时自动滚动。
有没有人有一些示例代码,其中列表不断添加总是插入到顶部的内容?我走在正确的轨道上吗?
Update
谢谢各位的回答,让我思考更多。实际上。我希望新条目出现在顶部,但屏幕仍然显示用户正在查看的项目。用户应该主动滚动到顶部以查看新项目。所以我想转录模式不是我想要的。
嗯,好吧,如果我要尝试这个,我会做如下的事情:
List items = new ArrayList();
//some fictitious objectList where we're populating data
for(Object obj : objectList) {
items.add(0, obj);
listAdapter.notifyDataSetChanged();
}
listView.post(new Runnable() {
@Override
public void run() {
listView.smoothScrollToPosition(0);
}
}
我不确定这是否有效,但这似乎是合乎逻辑的。基本上,只需确保将项目添加到列表的开头(位置 0),刷新列表适配器,然后滚动到位置 (0, 0)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)