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