问题描述
我有一个ListView.builder()
,它具有一个将在animateto(index: 50,......)
方法中buidler
进行操作的控制器,它可以完美地工作,可以制作动画并转到索引,但是唯一的问题是当我转到另一个屏幕并返回到listView.builder()
或重新启动时,会引发错误:
'package:Flutter/src/widgets/scroll_activity.dart': Failed assertion: line 613 pos 15: 'to != null': is not true.
据我了解,animateto()
中有一个方法为null。这是ScrollController()
:
ScrollController scrollController = ScrollController();
scrollController.animateto(
scrollController.position.maxScrollExtent,duration: Duration(milliseconds: 1000),curve: Curves.eaSEOut);
更新
我现在确定是引发该错误的是scrollController的位置,我检查了库,并且to
参数是它将设置动画的位置。
ListView.builder(
controller: scrollController,reverse: true,itemCount: snapshot.data.documents.length,itemBuilder: (context,i) {
var link = snapshot.data.documents[i].data['Link'];
var uploader =
snapshot.data.documents[i].data['Uploader'];
var likes = snapshot.data.documents[i].data['Likes'];
var like = likes.toString();
bool liked;
if (int.parse(like) > 0) {
liked = true;
} else if (int.parse(like) == 0) {
liked = false;
}
final videoPlayerController =
VideoPlayerController.network(link);
chewieController = ChewieController(
allowMuting: true,autoInitialize: true,deviceOrientationsAfterFullScreen: orientation,allowFullScreen: true,aspectRatio: 16 / 9,videoPlayerController: videoPlayerController,);
scrollController.animateto(
scrollController.position.maxScrollExtent,curve: Curves.eaSEOut);
return link != null
? SingleChildScrollView(
child: Column(
children: [
Chewie(
controller: chewieController,),..............................
完全错误
══╡ EXCEPTION CAUGHT BY FOUNDATION LIBRARY ╞════════════════════════════════════════════════════════
The following assertion was thrown while dispatching notifications for VideoPlayerController:
setState() called after dispose(): _MaterialControlsstate#da2c1(lifecycle state: defunct,not
mounted)
This error happens if you call setState() on a State object for a widget that no longer appears in
the widget tree (e.g.,whose parent widget no longer includes the widget in its build). This error
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)