Flutter Streambuilder的ListView在每个磁贴上显示相同的数据?
试图使用StreamBuilder构建ListView,但它在ListView的每一行中显示一项。我正在使用StreamBuilder广播。我使用add(数据)Flutter Streambuilder的ListView在每个磁贴上显示相同的数据?,flutter,dart,Flutter,Dart,试图使用StreamBuilder构建ListView,但它在ListView的每一行中显示一项。我正在使用StreamBuilder广播。我使用add(数据) StreamBuilder将使用流中的最新值。要将列表传递给StreamBuilder,您需要将列表传递给add 这意味着要随时间增长列表,您必须保留一个常规列表,并在修改后将其传递给add 最终地址=[]; GoogleAddress addy=GoogleAddress.fromJsonMap(map); 地址。添加(地址); 控制
StreamBuilder
将使用流中的最新值。要将列表传递给StreamBuilder
,您需要将列表传递给add
这意味着要随时间增长列表,您必须保留一个常规列表,并在修改后将其传递给add
最终地址=[];
GoogleAddress addy=GoogleAddress.fromJsonMap(map);
地址。添加(地址);
控制器。添加(地址);
StreamBuilder
将使用流中最新的值。要将列表传递给StreamBuilder
,您需要将列表传递给add
这意味着要随时间增长列表,您必须保留一个常规列表,并在修改后将其传递给add
最终地址=[];
GoogleAddress addy=GoogleAddress.fromJsonMap(map);
地址。添加(地址);
控制器。添加(地址);
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 {}
},
),
),
GoogleAddress addy = GoogleAddress.fromJsonMap(map);
if (sc != null) {
sc.add(addy);
}