我正在使用xamarin表单在滚动视图中显示项目列表。我想添加一个功能,以便当用户滚动到页面底部时,我可以触发一个事件(例如,加载更多项目)。当前,我正在使用此OnScrolled函数触发加载事件:
private void OnScrolled()
{
if (Scroller.ScrollY >= (Scroller.ContentSize.Height -Scroller.Height)+1)
{
//load more items
}
}
问题在于,即使页面仅滚动到底部一次,该函数也会被多次调用。有关如何处理此问题的任何提示?
答案 0 :(得分:1)
该方法将被多次调用,因为您正在使用事件处理程序来更改滚动。
private void OnScrolled(object sender, ScrolledEventArgs e)
{
MyScrollView scrollView = sender as MyScrollView;
double scrollingSpace = scrollView.ContentSize.Height - scrollView.Height;
if (scrollingSpace <= e.ScrollY) // Touched bottom
// Do the things you want to do
}