检测滚动内部的位置一个列表视图(或滚动型)
-
20-09-2019 - |
题
我要建一个聊天室应用程序的新事件正在调查的每个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
–堆项目的相反的顺序
–开始的最后一个项目从适配器
•用于聊天记录
–消息传递、交谈,因诺琴蒂研究中心,等等。
不隶属于 StackOverflow