【发布时间】:2020-08-01 01:44:39
【问题描述】:
我正在尝试在全局列表中存储要由 ListView 构建的小部件,如下所示:
List<Widget> globalList= [];
我试图在有状态类的状态下构建一个 Listview,如下所示:
ListView(
children: globalList
)
现在我每次都尝试渲染这个 Listview,当一个项目被添加到列表中时。我用于此的功能是:
void addList(){
setState((){
Widget _widget = new Widget();
list.add(_widget);
});
小部件(在我的伪代码中称为_widget)也是一个有状态小部件。但是当我调用addList 时,我的有状态小部件不会更新。为什么?
短(伪)-代码:
List<Widget> globalList = [];
class STFUL extends StatefulWidget{
@override
_STFULState createState() => _STFULState();
}
class _STFULState extends State<STFUL>{
void addList(){
setState((){
Widget _widget = new Widget();
globalList.add(_widget);
});
@override
Widget build(BuildContext context) {
return Scaffold(
body:ListView(
children: globalList
)
}
}
下面有一个按钮可以调用addList。我的问题是,当我调用 setState 时,ListView 不会呈现更新的列表。
感谢您的帮助
【问题讨论】:
标签: listview flutter dart setstate