【发布时间】:2017-09-19 16:41:44
【问题描述】:
我正在使用 Firemonkey TListView 来显示搜索结果。此列表一次加载 25 个项目,但可能会显示数百个项目。
我需要检测用户何时向下滚动到底部,以便获取接下来的 25 个项目以显示在列表中。但是,我找不到合适的属性来确定这一点。
有OnPullRefresh 事件,但这适用于滚动到列表顶部并将其拉下。我需要的是类似的,但是对于列表的 bottom 而不是 top。
OnScrollViewChange 事件似乎很合适。还有ScrollViewPos 属性,它也很有用。但是,我无法弄清楚将该数字与什么进行比较 - 具体来说,ScrollViewPos 的最大可能值。我需要像ScrollViewMax 这样的东西。
但我找不到更多可以准确检测到用户已滚动到底部的信息。
如何检测用户何时滚动到 Firemonkey TListView 的底部,以便加载更多搜索结果?
编辑
如果由于某种原因无法做到这一点,则可以使用“加载更多...”按钮将虚拟项目添加到列表末尾。但我宁愿它是自动化的。
EDIT2
我忘了提及...我在此列表视图中显示了搜索框,并且项目可以具有可变高度。如果根据项目内容计算这是唯一的方法,那么这样的计算需要完美。我不想知道用户何时“接近”或“接近”底部,而是用户何时恰好到达列表的底部。
【问题讨论】:
-
好的,接下来看看
ScrollTo滚动到特定项目的方法的来源。
标签: listview delphi scroll firemonkey