1

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

截屏

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

所以我用

calendarPageView.controller.jumpToPage(pageForDate);

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

当多个 PageView 附加到同一个 PageController 时,无法读取页面属性。包:flutter/src/widgets/page_view.dart':断言失败:第 101 行 pos 7:'positions.length == 1

似乎他们出于某种原因使用相同的 PageController?任何想法如何解决它?

4

1 回答 1

6

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

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

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

于 2018-05-11T10:14:54.253 回答