Flutter 当显示PageView.builder的第一页时,如何调用函数?
我使用的是Flutter 当显示PageView.builder的第一页时,如何调用函数?,flutter,dart,Flutter,Dart,我使用的是PageView.Builder,每次用户滑动到下一页后,我都使用onPageChanged调用一个函数。现在实际上不起作用的是在第一页调用这个函数 有人知道怎么做吗?(在我的上下文中,我无法使用手势检测器,因为我需要在不做任何手势的情况下调用函数) 好吧,我找到了解决办法 当@srikanth7785询问为什么不使用initState时,我说我的提供者和状态遇到了麻烦,从initState调用的以下代码对我有效: callFirstFunction() { Future.delaye
PageView.Builder
,每次用户滑动到下一页后,我都使用onPageChanged
调用一个函数。现在实际上不起作用的是在第一页调用这个函数
有人知道怎么做吗?(在我的上下文中,我无法使用手势检测器
,因为我需要在不做任何手势的情况下调用函数)
好吧,我找到了解决办法
当@srikanth7785询问为什么不使用
initState
时,我说我的提供者和状态遇到了麻烦,从initState
调用的以下代码对我有效:
callFirstFunction() {
Future.delayed(Duration.zero, () => setState(() {
//magic happens here
}));
您可以使用Future.delayed执行此操作
someDummyFunction {
Future.delayed(Duration(seconds:1), () => setState(() {
//Your logic here
}));
希望它能回答您的问题。希望您可以在initState
中调用MYFUNCTION
。。!?但不确定它是否适合您的用例。@srikanth7785遗憾的是,不。。我需要从索引中获取一些信息(PageView.Builder代码很复杂,只是简化了它),因此在initstate中调用它太早了,因为我正在使用提供程序,这会导致setState或markrebuild调用错误。@srikanth7785
someDummyFunction {
Future.delayed(Duration(seconds:1), () => setState(() {
//Your logic here
}));