PageViews 附加到同一个 PageController

PageViews are attached to the same PageController

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

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

所以我用

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 似乎共享控制器。