我想要一个包含来自 Stream 的项目的 ListView。当然,List 的内容应该反映 Stream 的变化。由于我的设计师怪癖,我希望列表中的项目用分隔线分隔。
只是想知道,用分隔符创建 ListView 并对 Stream 更改做出反应的正确方法是什么。
body: StreamBuilder(
stream: someStream,
builder: (ctx, snapshot) {
return ListView.separated(
separatorBuilder: (context, index) => Divider(color: Colors.black),
itemCount: ***whatsHere***?,
itemBuilder: (BuildContext ctx, int index) {
...
希望我错过了什么。由于以某种方式获得源流长度的想法至少看起来很奇怪,因为流的异步性质。使用流订阅(和 setState 调用)的 StatefullWidget 似乎是可行的,但 StreamBuilder 的发明是为了做同样的事情,不是吗?