flutter - PageViews 附加到同一个 PageController

标签 flutter flutter-layout

我似乎在 1 个屏幕上显示 2 个 PageView 时遇到问题。下面是我的应用程序:日历周时间轴是 PageView,它下面的内容也需要是 PageView。

screenshot

现在两个 PageViews 都需要相互交谈 - 当滚动底部内容 pageview 时,我希望上部 View 更改白色圆圈选择,最后翻转页面,当结束时。

所以我用

calendarPageView.controller.jumpToPage(pageForDate);

(或 nextPage() 方法),这就是我得到的:

The page property cannot be read when multiple PageViews are attached to the same PageController. package:flutter/src/widgets/page_view.dart': Failed assertion: line 101 pos 7: 'positions.length == 1

他们似乎出于某种原因使用相同的 PageController?有什么想法可以解决吗?

最佳答案

我想通了! :) 为了您的利益,请确保您通过创建自己的 PageController 实例来构建您的 PageView,例如:

new PageView.builder(
   ...,
   controller: new PageController()
);

所以你不会遇到这个问题。由于某种原因,默认情况下 PageViews 似乎共享 Controller 。

关于flutter - PageViews 附加到同一个 PageController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50235871/

相关文章:

dart - flutter 代码实验室 : Update ListView on different screen

android - 将音频文件转换为样本数组

flutter - 在提供程序中按名称/类型访问变量

flutter - Provider 和 setstate 哪个更贵?

android-studio - 如何根据flutter中的sharedPrefs值设置动态initialRoute?

flutter - 如何更改抽屉导航的工具栏颜色

flutter - Kotlin 中是否有类似于 Dart 的 Completer 行为的东西?

android - 在 Flutter 中使用 awesome_notifications 显示通知的问题

即使在事件重新触发后 Flutter BlocListener 也只执行一次