Flutter scrollcontroller未连接到任何滚动视图(Swiper)
我正在使用一个Flutter scrollcontroller未连接到任何滚动视图(Swiper),flutter,dart,flutter-layout,flutter-dependencies,flutter-test,Flutter,Dart,Flutter Layout,Flutter Dependencies,Flutter Test,我正在使用一个Swiper软件包在我的图像上实现旋转木马效果。 我试图通过将回调函数传递给它的子项来更新我的Swiper的当前索引 但是当我尝试调用该函数时,它返回这个“scrollcontroller not attached”错误 我添加了一个SwipController,但仍然是一样的 这是我的密码: SwiperController swiperController; @override Widget build(BuildContext context) { retu
Swiper
软件包在我的图像上实现旋转木马效果。
我试图通过将回调
函数传递给它的子项来更新我的Swiper
的当前索引
但是当我尝试调用该函数时,它返回这个“scrollcontroller not attached
”错误
我添加了一个SwipController
,但仍然是一样的
这是我的密码:
SwiperController swiperController;
@override
Widget build(BuildContext context) {
return Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
color: Colors.black,
child: Swiper(
controller: swiperController,
index: _index,
scrollDirection: Axis.horizontal,
itemBuilder: (BuildContext c, int i) {
return StoriesPerUser(
storiesList: widget.storiesList,
selectedIndex: i,
updateFunction: callBack,
);
},
itemCount: widget.storiesList.length,
loop: false,
duration: 1000,
));
}
callBack() {
setState(() {
_index++;
});
}
Please help.
更新: 似乎SwipController没有实例化和初始化。您可以通过重写initState方法来完成此操作:
@override
void initState() {
controller = SwiperController();
controller.length = 10
//controller.fillRange(0, 10, SwiperController());
super.initState();
}
回答: 如果你们中的任何人想要使用这个软件包,并且想要一个类似于我的功能,而不是更新索引,只需使用
swipcontroller
的方法之一,即next()
这解决了我的问题:
callBack() {
setState(() {
swiperController.next();
});
}
你好我见过类似的问题,但不幸的是,
SwipController
没有initialScrollOffset
我可以问一下,autoplayes
是从哪里来的吗?它给出了很多错误。谢谢你抽出时间。我认为swipecontroller不应该被视为与scrollcontrollerSorry类似,我在这里找到了一个例子:。我认为您只需要实例化控制器。将更新答案。是的,我也对此进行了研究,但更改了逻辑,因为我需要实现跳过、暂停和恢复逻辑。基本上,我正在尝试创建一个类似于facebook和instagram的故事流。解决这个问题做得好!