我试图将要由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不会呈现更新的列表。
感谢您的帮助
答案 0 :(得分:0)
使用ListView.Builder
代替您的ListView
,