flutter - 扑动中带有 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 方法。返回后如何跳转到特定页面?
解决方案
您是否尝试过使用
WidgetsBinding.instance.addPostFrameCallback((_) {
// executes after build
})
?
推荐阅读
- tfs - TFS:您尝试的命令无法完成,因为文件 'aaaaa.vdproj' 受源代码控制
- javascript - Redux 动作和模态窗口
- java - 如何将复杂表达式存储在java字符串变量中?
- jquery - 通过切换隐藏和禁用两个 div
- android - 为什么fabric(Crashlytics)服务集成不连接gitlab?
- android - 来自 NestedScrollview 的 ViewPagerFragment 内的滚动视图
- java - 无法解析方法“getEvent()”
- sql-server - 如何在 SQL 查询中通过标识将具有不同类型的表的所有列与其值连接起来?
- java - hashmap 如何提供恒定时间性能?
- c# - 如何实现字节命令类