簡體   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