我有一个GridView,它在滚动控制器的末端延迟加载,但是当我到达滚动控制器的一半时,我想加载数据。如果我尝试执行if语句来检查滚动是否已达到控制器的50%,它将永远不会相等,但是,如果我执行大于50%的操作,它将多次调用函数,并以重复的数据结尾。如何避免重复或有更好的方法来进行此操作。
一种简单的方法就是使用您当前的代码和一个在函数中设置为true的附加布尔值“ wasCalled”。但是:我相信会有更好的解决方案。
我还没有真正使用GridViews,但是据我所知,它是懒惰地构建其子级的。您是否尝试过在孩子名单的中间插入自定义小部件?
例如在您的构建函数中,您可以:
@override
Widget build(BuildContext _) {
callCustomFunction();
return Container();
}