我正在尝试使用动画列表窗口小部件,我要实现的是通过在此动画列表内的图块窗口小部件上按一个按钮,将从我的数据中删除该图块并将其从动画列表中删除,但是当按按钮,将删除最后一个中的最后一个项目,而不是给定索引中的最后一个项目
首先,我为列表使用了全局键
final GlobalKey<AnimatedListState> listKey = GlobalKey<AnimatedListState>();
我的动画列表代码
AnimatedList(
initialItemCount: snapshot.data[0].length ,
key: listKey,
itemBuilder: (BuildContext context, int index, Animation animation) {
return SizeTransition(
sizeFactor: animation,
child: GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ProductFullScreenView(
productInfo: snapshot.data[0].elementAt(index),
)));
},
child: ProductListCardVertical(
index: index,
),
));
});
在我的小部件中,我将此函数称为
// function to remove the data from my database, if true then remove the tile
// remove tile
listKey.currentState.removeItem(
widget.index, (context, animation) => Container());
任何帮助将不胜感激
答案 0 :(得分:1)
更新:
发生此问题是因为我没有从列表中删除数据,所以我要做的是创建了数据的全局列表,并将从数据库中获取的列表分配给该值,然后删除了索引平铺窗口小部件内列表中的项目的位置。