带有列表中窗口小部件的Flutter ListView不会在应有的时候更新

问题描述 投票:0回答:1

我正在尝试将要由ListView构建的小部件存储在这样的全局列表中:

List<Widget> globalList= [];

我正在尝试在像这样的有状态类的状态下构建Listview:

ListView(
  children: globalList
)

现在,当每次将项目添加到列表时,我都会尝试渲染此Listview。我为此使用的功能是:

void addList(){
    setState((){
      Widget _widget = new Widget();
      list.add(_widget);
    });

小部件(在我的伪代码中称为_widget)也是一个有状态小部件。但是,当我调用addList时,我的有状态小部件不会更新。为什么?

Shortended(Pseudo)-Code:

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
1个回答
0
投票

ListView.Builder代替ListView

© www.soinside.com 2019 - 2024. All rights reserved.