【发布时间】:2020-06-10 02:41:41
【问题描述】:
尝试使用 StreamBuilder 构建 ListView,但它在 ListView 的每一行中显示一个项目。我正在使用 StreamBuilder 广播。我使用添加(数据)。
child: StreamBuilder<GoogleAddress>(
stream: pickupStreamController.stream,
builder: (context, snapshot) => ListView.builder(
itemCount: 8,
itemBuilder: (context, index) {
print('Render $index');
if (snapshot.data != null) {
print("${snapshot.data.address}");
return _createListItem(
icon: Icons.location_on,
googleplace: snapshot.data,
onTap: () {
print("${snapshot.data.address}");
});
} else {}
},
),
),
这是我添加到流中的 StreamController 代码。它在每次迭代中添加不同的 GoogleAddress 数据。
GoogleAddress addy = GoogleAddress.fromJsonMap(map);
if (sc != null) {
sc.add(addy);
}
【问题讨论】: