Flutter - Get Snapshot List

Viewed 64

I am trying to make a grid view of Firebase objects that I have stored in Firebase Realtime Database, using Flutter.

I am following a tutorial, where we are converting snap2 to a Map<String, dynamic>, and I am getting an error:

The argument type 'Object' can't be assigned to the parameter type 'Map<dynamic, dynamic>'.

What is it that I need to do? Am I forgetting something, or not doing something correctly?

child: StreamBuilder(
                stream: taskRef != null ? taskRef!.onValue : null,
                builder: (context, snapshot) {
                  if (snapshot.hasData && !snapshot.hasError) {
                    var event = snapshot.data as DatabaseEvent;
                    var snap2 = event.snapshot.value;
                    if (snap2 == null) {
                      return const Center(
                        child: CustomText(
                          text: "Error",
                        ),
                      );
                    }
                    Map<String, dynamic> map = Map<String, dynamic>.from(snap2);
                    var images = <ImageGalleryObject>[];
                    for (var imageMap in map.values) {
                      ImageGalleryObject imageModel =
                          ImageGalleryObject.fromMap(imageMap);
                      print("found one");
                      images.add(imageModel);
                    }
                    return GridView.builder(
                      ...
                      itemBuilder: (context, index) {
                        ImageGalleryObject image = images[index];
                        return Container(
                          ..
                        );
                      },
                    );
                  } else {
                    return Center(
                      child: CupertinoActivityIndicator(),
                    );
                  }
                },
              ),
0 Answers
Related