我在Firestore中有一个集合。它有一个字段数组。我试图从Firestore中获取该数组,并将其分配给flutter中的一个列表。我的集合如下所示
从Firestore获取数据的代码
List<Offset> pointlist = <Offset>[];
getdata() async{
await Firestore.instance.collection("points").document('biZV7cepFJA8T6FTcF08').get().then((value){
setState(() {
List<Offset> pointlist = List.from(value.data['point']);
});
});
}
@override
void initState() {
super.initState();
getdata();
}
我得到此错误类型“String”不是类型“Offset”的子类型
3条答案
按热度按时间nuypyhwy1#
你做错的事是:
其次,如果您仔细查看firebase,您分配的数据是
String
。最后,尝试将
String
值赋给Offset class/object
类型的List
如果您想让它正常工作,那么可以创建
String
类型的List
,然后将其添加到List
或者先像这样将数据Add到Offset对象中,然后将其传递给List
摘要
始终查找您为
List
指定的数据类型,如果您尝试添加的数据类型不是List<T>
的T
类型,您将始终得到类型不匹配的错误。希望这将使您对编程有一些清晰的认识和基本的想法。请继续学习:)a8jjtwal2#
你必须声明列表和所有列表项将被存储在已声明列表中,以便你可以访问它。
wvyml7n53#
使用
null safety
更新2023假设结构为。
使用以下代码获取
arrayOfString
参数的数组元素