当前位置: 首页 > 知识库问答 >
问题:

Dart未处理异常:类型'list'不是类型'family'的子类型,-Flutter

苏坚成
2023-03-14

Family_View.Dart

class FamilyView extends StatelessWidget {
  Widget familyMember(BuildContext context) {
    var family = Provider.of<Family>(context);

    CollectionReference ref = FirebaseFirestore.instance.collection("users");

    ref.doc(user.uid)..get().then((val) {
      family = val["family"];
      print(family);
    });

    return ListView.builder(
        itemBuilder: (BuildContext context, int index) {
          return Container(
            child: Column(
              children: [
                ListTile(
                  title: Text(family[index]["name"]),
                ),
                Divider(
                  height: 2,
                ),
              ],
            ),
          );
        },
        itemCount: family.length);
  }

family_provider.dart

import 'package:flutter/material.dart';

class Family with ChangeNotifier {
  List _family = [];

  List get family {
    return [..._family];
  }
}

共有1个答案

顾光明
2023-03-14

我看不出这个代码有什么问题,如果family是你所说的,它是一个包含[{“name”:“killian”}]的列表,它应该可以工作。

我试了一下,没发现问题

  Widget build(BuildContext context) {
List<dynamic> family = [{'name': 'Killian'}, [{'name': 'Killian'}, {'name': 'Killian'}]];
return Scaffold(

  body: Center(
    child: ListView.builder(
    itemBuilder: (BuildContext context, int index) {
      return Container(
        child: Column(
          children: [
            ListTile(
              title: Text(family[1][index]["name"]),
            ),
            Divider(
              height: 2,
            ),
          ],
        ),
      );
    },
    itemCount: family.length,))
  );    
}

最终出现在屏幕上的是一些列表,他们说基利安相当于家庭名单的lenght。

 类似资料:
  • 我对使用颤振和特定于平台的代码非常陌生,所以如果这是一个愚蠢的问题,请原谅我。我正在使用一个事件通道将数据从android端返回到Flatter。我正在返回一份清单 但是,当我试图添加它时,它给出了一个异常,“未处理的异常:类型'列表'不是类型'列表'的子类型 这是我要将贴图对象添加到的列表。 列表 这是我的添加代码。忽略print语句。 我尝试过像cast或from这样的方法,但它对我不起作用,

  • 我正在开发我的flutter应用程序的身份验证。请帮我解决这个问题。我无法识别返回这样一个错误的问题,声明未处理异常:类型列表不是类型字符串的子类型。 以下是登录屏幕的代码: 执行登录的上述代码部分: 错误

  • 更新:感谢@Rjulcaa回答我的地图现在是一个列表,但是列表没有显示在用户界面上。我转过来,我需要用FutureBuilder来处理未来,所以如果有人面临这个问题,记得在你的用户界面主体中添加一个FutureBuilder,并在构建器上返回你想要显示的小部件。 我正在制作一个todo列表教程,我正在尝试添加JSON上的编码功能,我的todoList将其保存在SharedReferences上,当

  • 如何修复未经处理的异常问题:键入“\u InternalLinkedHashMap” 这是我的班级。省道锉 还有我的主菜。省道锉

  • 我正在解码一个响应体,我得到了错误: 我在Udemy上学习颤振教程时,正在尝试使用API。教程说要使用https://javiercbk.github.io/json_to_dart/将JSON转换为Dart。我把JSON从https://www.openbrewerydb.org/并将其转换为Dart,但我遇到的问题是,当我尝试解码API时,我得到了未处理的错误异常:“List”类型不是“Map

  • 我一直在我的颤振应用程序中使用sembast,我在我的类设备中包含我的类温度列表时遇到了问题。我已经包括以下两个类。 我得到未处理的异常:键入“ImmutableMap” 这种方法似乎被用于其他问题的解决方案,这些问题似乎与我的问题几乎相同,所以我不确定这里有什么问题,以及我尝试过的其他解决方案。