Flutter刷新状态小部件



我有一个Stateful类,显示列表如下:

Container(
margin: const EdgeInsets.fromLTRB(50.0, 10.0, 15.0, 10.0),
height: 190,
width: 100,
child: ListView.builder(
itemCount: gameManager.yourScoresList.length,
itemBuilder: (context, index) {
return ListTile(
visualDensity: VisualDensity(
vertical: VisualDensity.minimumDensity),
title: gameManager.yourScoresList[index],
);
}))

然而,当我从另一个类(GameManager(中清除ScoresList.clear((时,ListView不会被清除(即继续显示现有的(,直到我在Stateful类中选择了另一个实现setState((的小部件。我曾尝试在ValueListenableBuilder中包装ListView,但无法实现。如有任何建议,不胜感激。

正如Christopher Moore所说,您必须在该类中设置State,比如

void clearbox(){
setState((){
yourScoresList.clear();
});

如果你的另一个类中没有StateFulWidget,那么就这样做吧,

在StateFulWidget中,(当前类,其中有listView(

添加此功能,

void clear(){
setState((){
gameManager.yourScoresList.clear();
});
}

调用这个函数,无论何时您希望清除列表,您甚至可以从拥有列表的另一个类中调用它。

最新更新