首页 > 解决方案 > 扑动中带有 StreamBuilder 的 PageView PageController.jumpPage

问题描述

这是代码。

Widget build(BuildContext context) {
    return StreamBuilder<List<Widget>>(
        stream: _getMealsViewWidgets(weekNum),
        builder: (BuildContext context, AsyncSnapshot<List<Widget>> snapshot) {
          if (snapshot.connectionState == ConnectionState.active) {
            return Center(child: CircularProgressIndicator());
          }

          if (snapshot.connectionState == ConnectionState.waiting) {
            return Center(child: CircularProgressIndicator());
          }

          if (snapshot.error != null) {
            return Center(child: Text('Error occurred.'));
          }

          if (snapshot.connectionState == ConnectionState.done) {
            return PageView(children: snapshot.data, controller: _pageController);
          }
          return Center(child: CircularProgressIndicator());
        });
  }

PageView 修复了 7 页。我想在刷新到特定页面后跳转。问题是因为 PageView 是 StreamBuilder 的返回,刷新后我无法调用 pagecontroller.jumpPage 方法。返回后如何跳转到特定页面?

标签: flutterdartflutter-layout

解决方案


您是否尝试过使用

WidgetsBinding.instance.addPostFrameCallback((_) {
  // executes after build
})

?


推荐阅读