Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter Streambuilder的ListView在每个磁贴上显示相同的数据?_Flutter_Dart - Fatal编程技术网

Flutter Streambuilder的ListView在每个磁贴上显示相同的数据?

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

试图使用StreamBuilder构建ListView,但它在ListView的每一行中显示一项。我正在使用StreamBuilder广播。我使用add(数据)


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);
    }