【发布时间】:2021-01-12 17:05:18
【问题描述】:
当我从 fire base 获取消息时,新消息会随机出现在列表视图中,如何在颤振中设置列表视图底部的新消息?
代码如下:
body: SafeArea(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
StreamBuilder<QuerySnapshot>(
stream: _firestore.collection('messages').snapshots(),
builder: (context, snapshot) {
List<MyMessageContainer> messageWidget = [];
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(
backgroundColor: Colors.lightBlue,
),
);
}
final messagesDoc = snapshot.data.docs.reversed;
for (var messageData in messagesDoc) {
final messageBody = messageData.data();
final messageText = messageBody['text'];
final messageSender = messageBody['sender'];
final msg = MyMessageContainer(
message: messageText,
sender: messageSender,
isCurrentUser: messageSender == user.email ? true : false,
);
messageWidget.add(msg);
}
return Expanded(
child: ListView(
reverse: true,
children: messageWidget,
),
);
},
),
【问题讨论】:
标签: android firebase flutter google-cloud-firestore