我似乎在 1 个屏幕上显示 2 个 PageView 时遇到问题。下面是我的应用程序:日历周时间轴是 PageView,它下面的内容也需要是 PageView。
现在两个 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/