我要建一个聊天室应用程序的新事件正在调查的每个X秒。每次发生这种情况,这个代码更新RoomAdapter(一个自定义的子类ArrayAdapter)与新的数据和卷轴到底:

RoomAdapter adapter = (RoomAdapter) getListAdapter();
for (int i=0; i<newEvents.size(); i++)
 adapter.add(newEvents.get(i));
getListView().setSelection(events.size()-1);

这是好的,但如果用户是滚动起来看看房间的历史,它要跳下她到底时的投票情况。什么我想要做的就是有这样,如果用户已经是在名单的底部,在那里停留之后的一项民意调查对新的事件。如果用户故意滚动向上,我想用户不会受到干扰。

我如何检测时,我已经滚动到底部的一个列表视图?

注:我不能做getListView().getSelectedItemPosition(),因为 作为该文件注意, ,呼吁。时,在接触模式实际上并不选择项目,只是滚动到它。

有帮助吗?

解决方案

我没有尝试这样做,而是怎么样 getLastVisiblePosition()==getCount()-1?(方法 ListView)

其他提示

但是,这不是一个适当的方式。
使用
android:transcriptMode
–行为的清单时,内容更改
–"无障碍",不滚动
–"正常的",卷轴到底如果最后一个项目是可见的
–"alwaysScroll",总是卷轴到底
android:stackFromBottom
–堆项目的相反的顺序
–开始的最后一个项目从适配器
•用于聊天记录
–消息传递、交谈,因诺琴蒂研究中心,等等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top