[英]Flutter - How to insert stateful widget at the top of a ListView.separated?
我有一個ListView.separated
,它最初包含兩個有狀態的小部件: Hello 2
和Hello 3
。
一段時間后,我想在ListView.separated
的頂部插入一個有狀態的小部件,上面寫着Hello 1
。
我希望ListView.separated
顯示Hello 1
, Hello 2
, Hello 3
。
不幸的是,當我這樣做時, Hello 3
會被重復而不是Hello 1
被添加到ListView.separated
的頂部。 它現在顯示Hello 2
, Hello 3
, Hello 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.