繁体   English   中英

如何在 flutter 中的滚动 controller 中途调用 function

[英]How to call a function half way through the scroll controller in flutter

我有一个 GridView,它在滚动 controller 的末尾延迟加载,但是当我到达滚动 controller 的中途时,我想加载数据。 如果我尝试执行 if 语句来检查滚动是否已达到 controller 的 50%,它将永远不会相等,但是,如果我执行大于等于 50% 的操作,它会多次调用 function 以结束数据重复。 我怎样才能避免这种重复,或者有更好的方法来做到这一点。

一个简单的方法是使用您当前的代码和一个额外的 boolean 'wasCalled',您在 function 中将其设置为 true。 但是:我相信会有更好的解决方案。

我并没有真正使用过 GridViews,但据我所知,它会懒惰地构建它的孩子。 您是否尝试在子列表中间插入自定义小部件?

例如,在您的构建 function 中,您可以:

@override
Widget build(BuildContext _) {
  callCustomFunction();
  return Container();
}

您可以使用“extentAfter”属性来了解到最后还有多少空间..

我想这是你想要做的事情..

https://stackoverflow.com/a/49509349/13460232

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM