繁体   English   中英

Flutter - 如何在ListView.separated的顶部插入有状态小部件?

[英]Flutter - How to insert stateful widget at the top of a ListView.separated?

我有一个ListView.separated ,它最初包含两个有状态的小部件: Hello 2Hello 3

一段时间后,我想在ListView.separated的顶部插入一个有状态的小部件,上面写着Hello 1

我希望ListView.separated显示Hello 1Hello 2Hello 3

不幸的是,当我这样做时, Hello 3会被重复而不是Hello 1被添加到ListView.separated的顶部。 它现在显示Hello 2Hello 3Hello 3

如果我使用无状态小部件,所有这一切都可以正常工作。 如果我使用StatefulWidget ,则命令会搞砸,并且小部件会被复制。

你可以试试这个。

bool _condition = false;

Widget build(context) {
  return ListView(
    children: <Widget>[
      _condition ? yourNewWidget : Container(),
      ListView.separated(
        shrinkWrap: true, // needed 
        physics: ClampingScrollPhysics(), // needed 
        itemBuilder: (c, i) => Text("Text = ${i}"),
        separatorBuilder: (c, i) => Divider(),
        itemCount: 100,
      )
    ],
  )
}

当你有一个newWidget并准备就绪时,请确保调用setState(())来更新build()方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM