我有一份清单:
List<dynamic> activityDays = [];这个代码是:
getItems(AsyncSnapshot<QuerySnapshot> snapshot) {
if (widget.user.uid.isNotEmpty) {
// ignore: missing_return
snapshot.data.documents.map<Column>((f) {
if (f.documentID == widget.currentList.keys.elementAt(widget.i)) {
f.data.forEach((a, b) {
if (a == "activities") {
List<dynamic> markMap = f.data['activities'];
for (var element in markMap) {
activityDays.add(element['days']);
}
}
});
}
}).toList();

并打印出结果:[M,T,L,T,T,L]
但是,当我试图从列表中获取一个项目时,它会给我带来错误:类型'List‘不是' list '的子类型
我就是这样用的:
GroupedCheckbox(
itemList: activityDays.elementAt(i),
checkedItemList: checkedItemList,
onChanged: (itemList) {
setState(() {
selectedItemList = itemList;
print('SELECTED ITEM LIST $itemList');
});
},
orientation: CheckboxOrientation.VERTICAL,
checkColor: Colors.blue,
activeColor: Colors.red,
),我做错了什么?
发布于 2022-12-02 11:42:48
您是否尝试过将列表声明为List<String>以避免变量类型冲突?
发布于 2022-12-02 11:59:51
与将数据类型定义为List<dynamic>不同,您可以将其定义为List<List<String>>,也可以定义f.data['activities']的任何类型。如果不这样做,键入case list as List<DATA_TYPE>
https://stackoverflow.com/questions/74655138
复制相似问题