Я использую FirebaseAnimatedList для получения данных из базы данных firebase в реальном времени, но мне нужно добавить каждый снимок в список, чтобы выполнять разбиение на страницы с помощью контроллера прокрутки, но каждый раз, когда я добавляю элемент в список firebase, элементы удваиваются или втрое, это мой код:
List item = [];
Widget chatMessages() {
item.clear();
return FirebaseAnimatedList(
reverse: true,
duration: Duration(milliseconds: 600),
query: _firebaseRef
.child(widget.chatRoomId)
.child("chats")
.limitToLast(20),
sort: (b, a) {
return a.value['time'].compareTo(b.value['time']);
},
itemBuilder: (BuildContext context, DataSnapshot snapshot,
Animation<double> animation, int index) {
item.add({
"message": snapshot.value['message'],
"sendBy": snapshot.value['sendBy'],
"time": snapshot.value['time']
});
return SizeTransition(
sizeFactor: animation,
child: MessageTile(
message: item[index]['message'],
sendByMe: widget.user.uid == item[index]['sendBy'],
time: item[index]['time'])
);
});
}