List 颤振动画列表更新列表长度失败

List 颤振动画列表更新列表长度失败,list,flutter,dart,flutter-animatedlist,List,Flutter,Dart,Flutter Animatedlist,我正在实现一个颤振应用程序并使用AnimatedList。此列表中查看的数据由控制器更新,并且在完成任何更新后通知列表 从控制器更新项目时,即。E添加或删除,我调用setState更新视图。它被正确调用,build方法被调用,动画列表读取新的列表长度,但它仍然显示旧的列表长度,因此它在列表末尾显示超出索引的错误 这就是我如何创建动画列表的方法: AnimatedList( controller: controller, key: GlobalKey(),

我正在实现一个颤振应用程序并使用
AnimatedList
。此列表中查看的数据由控制器更新,并且在完成任何更新后通知列表

从控制器更新项目时,即。E添加或删除,我调用
setState
更新视图。它被正确调用,build方法被调用,动画列表读取新的列表长度,但它仍然显示旧的列表长度,因此它在列表末尾显示
超出索引的错误

这就是我如何创建
动画列表的方法:

AnimatedList(
        controller: controller,
        key: GlobalKey(),
        initialItemCount: list.length,
        itemBuilder: (context, index, animation) {
          //the item builder method
        },
      )
小部件中的控制器侦听器中
我调用:

setState(() {
  print('Update lists here');
});
那么问题出在哪里?如何使用来自控制器的新列表更新
动画列表
,并反映其新长度?

请注意,当我使用以下方法从
小部件的列表中删除项目时,不会发生此错误:

listKey.currentState.removeItem(index, animationBuilder);
list.removeAt(index);