首页 > 解决方案 > 收到 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);
        },
      ),

标签: jsonflutterlistviewdartfirebase-cloud-messaging

解决方案


我不知道我做了什么,但突然它与上面的代码一起工作。如果有人想知道如何将 FCM 消息添加到映射列表,我会将其作为答案。


推荐阅读