json - 收到 Firebase 云消息传递实例后如何重建 ListViewBuilder?
问题描述
我有一个从 HTTP 查询创建的列表视图。我正在尝试将任何新的 FCM 通知附加到列表顶部;但是,尽管列表的长度确实会随着每个新通知而增加,但列表视图不会重建,并且新条目不会出现在我的列表视图的顶部。
这是功能;
@override
void onNotify(RemoteMessage notification) {
_firebaseMessagingBackgroundHandler(notification);
setState(() {
_notification = notification;
Map<String, dynamic> notifData = _notification.data;
fcmcrafts.insert(0, FCMContent.fromJson(notifData));
print(widget.fcmcrafts.length);
});
}
显示列表的打印输出print(widget.fcmcrafts.length);
正在更新,因为每个通知都会增加列表的长度。
但是如何在每个新插入的通知时重建列表视图?
这是列表视图构建器;
ListView.builder(
itemCount: widget.fcmcrafts.length,
itemBuilder: (context, int currentIndex) {
return createViewItem(widget.fcmcrafts[currentIndex], context,
currentIndex, widget.fcmcrafts.length);
},
),
解决方案
我不知道我做了什么,但突然它与上面的代码一起工作。如果有人想知道如何将 FCM 消息添加到映射列表,我会将其作为答案。
推荐阅读
- robotframework - 如何使用机器人框架在 SAP GUIShell 上双击元素?
- sql - 在 SQL 中的同一查询中引用不同的 id
- android - 如何将viewModel注入Fragment?
- c# - 使用 Linq Select 创建一个包含比原始列表更多项目的列表
- linux - 如何在没有 libstdc++ 依赖的情况下使用 b2 构建 C 程序?
- java - 在arraylist中查找特定元素的位置
- perl - 如何将命令行参数传递给 Perl 脚本?
- javascript - 在输入值中显示和检索特殊字符 (\r\n\t)
- bash - 重命名多个目录,同时将一部分保留在中间并带有不同的后缀
- javascript - Javascript 回调未按预期工作