实现onScrollListener以检测ListView中滚动的结束。
|
我有一个显示某些项目的
ListView
。我想对ListView
可见部分中当前显示的项目执行一些操作,具体取决于ListView
的滚动方式;因此我想实现implement0的OnScrollListener
。
根据Android api参考,onScroll方法“滚动完成后将调用”。在我看来这似乎是我所需要的,因为滚动完成后,我在ListView
上执行我的操作(onScroll方法返回显示的第一个项目的索引和显示的项目数)。
但是一旦实现,就可以从ѭ6中看到onScroll方法不仅在滚动完成后被触发,而且还从滚动的开始到结束为进入显示视图的每个新项都触发。这不是我所期望的行为,也不是我所需要的。侦听器的另一种方法(onScrollStateChanged)则不提供有关当前显示在“ 0”中的项目的信息。
那么,有谁知道如何使用这两种方法来检测滚动的结束并获得有关所显示项目的信息? api引用与方法的实际行为之间的不一致使我有些困惑。
提前致谢。
附注:我看到了一些类似的话题,但是没有什么可以帮助我理解整个过程。
没有找到相关结果
已邀请:
9 个回复
陈獭
实际上,每次滚动ListView时,我都会保存有关第一个可见项和可见项计数的数据(onScroll方法);当滚动状态更改(onScrollStateChanged)时,我保存状态并调用另一个方法,该方法实际上了解滚动是否完成以及滚动是否完成。这样,我也可以获得有关所需可见项目的数据。 也许不干净,但是行得通! 问候
戊袱
梦砍废么
茬贺努充尽
请注意,您还必须在构造函数中绑定ѭ12。我认为这种实现很好,因为它不会立即触发“事件”,因此会稍等一会,直到它完全停止滚动为止。
社攻取墟槽
弦砂牧扁
用法:
乏摩纶誊伟
然后填写侦听器方法:
似乎做了它应该做的事情:无需大量代码和适配器修改即可检测列表结尾。
漂截嘘
绵扇寸访
在这里,我可以轻松地创建一个接口,以通知片段/活动到达底部。 干杯。