Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 当显示PageView.builder的第一页时,如何调用函数?_Flutter_Dart - Fatal编程技术网

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
   }));