我正在使用Swiper
包来对图像实现轮播效果。
我试图通过将Swiper
函数传递给它的孩子来更新callback
的当前索引。
但是当我尝试调用该函数时,它将返回此“ scrollcontroller not attached
”错误。
我添加了SwiperController
,但还是一样。
这是我的代码:
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.
答案 0 :(得分:1)
答案:
如果你们中的任何一个想要使用此软件包,并且您想要一个类似于我的功能,而不是更新索引,只需使用SwiperController
的一种方法即next()
这解决了我的问题:
callBack() {
setState(() {
swiperController.next();
});
}
答案 1 :(得分:0)
更新:
似乎SwiperController没有被实例化和初始化。您可以通过重写initState方法来做到这一点:
@override
void initState() {
controller = SwiperController();
controller.length = 10
//controller.fillRange(0, 10, SwiperController());
super.initState();
}