我一直在我的颤振应用程序中使用sembast,我在我的类设备中包含我的类温度列表时遇到了问题。我已经包括以下两个类。
我得到未处理的异常:键入“ImmutableMap”
这种方法似乎被用于其他问题的解决方案,这些问题似乎与我的问题几乎相同,所以我不确定这里有什么问题,以及我尝试过的其他解决方案。
class Equipment {
final int id;
final String name;
final String location;
final String zone;
final int checkInterval;
final String nextUpdate;
final List<Temperature> temps;
Equipment({this.id, this.name, this.location, this.zone, this.checkInterval, this.nextUpdate, this.temps});
Map<String, dynamic> toMap() {
final Map<String, dynamic> data = Map<String, dynamic>();
if (this.temps != null) {
data['temps'] = this.temps.map((v) => v.toMap()).toList();
}
return {
'name': this.name,
'location': this.location,
'zone': this.zone,
'checkNumber':this.checkInterval,
'nextUpdate':this.nextUpdate,
'temps':data
};
}
factory Equipment.fromMap(int id, Map<String, dynamic> map) {
return Equipment(
id: id,
name: map['name'],
location: map['location'],
zone: map['zone'],
checkInterval: map['checkNumber'],
nextUpdate: map['nextUpdate'],
temps: map['temps'] != null
? (map['temps'] as List).map((i) => Temperature.fromMap(i)).toList()
: null,
);
}
}
class Temperature {
final String time;
final int temp;
Temperature({this.time, this.temp});
Map<String, dynamic> toMap() {
return {
'time': time,
'temp': temp,
};
}
factory Temperature.fromMap(Map<String, dynamic> map) {
return Temperature(
time: map['time'],
temp: map['temp'],
);
}
}
A typical input to equipment-
final name = nameController.text;
final location = locationController.text;
final zone = zoneController.text;
final checkInterval = int.parse(intervalController.text);
final nextUpdate = DateTime.now().add(new Duration(hours: checkInterval)).toString();
final Temperature temp = Temperature(time: DateTime.now().add(new Duration(hours: checkInterval)).toString(),temp: 0);
final List<Temperature> temps = [temp,temp];
final newEquipment = Equipment(name: name, location: location, zone: zone, checkInterval: checkInterval, nextUpdate: nextUpdate, temps: temps);
发现问题-
?(将['temps']映射为列表)。地图(一)=
map['temps']不是列表而是地图,应该是map['temps']['temps']
以下是回应 模型 和 我收到此错误(未处理的异常:键入“\u InternalLinkedHashMap
我正在开发我的flutter应用程序的身份验证。请帮我解决这个问题。我无法识别返回这样一个错误的问题,声明未处理异常:类型列表不是类型字符串的子类型。 以下是登录屏幕的代码: 执行登录的上述代码部分: 错误
更新:感谢@Rjulcaa回答我的地图现在是一个列表,但是列表没有显示在用户界面上。我转过来,我需要用FutureBuilder来处理未来,所以如果有人面临这个问题,记得在你的用户界面主体中添加一个FutureBuilder,并在构建器上返回你想要显示的小部件。 我正在制作一个todo列表教程,我正在尝试添加JSON上的编码功能,我的todoList将其保存在SharedReferences上,当
我对使用颤振和特定于平台的代码非常陌生,所以如果这是一个愚蠢的问题,请原谅我。我正在使用一个事件通道将数据从android端返回到Flatter。我正在返回一份清单 但是,当我试图添加它时,它给出了一个异常,“未处理的异常:类型'列表'不是类型'列表'的子类型 这是我要将贴图对象添加到的列表。 列表 这是我的添加代码。忽略print语句。 我尝试过像cast或from这样的方法,但它对我不起作用,
Family_View.Dart family_provider.dart
我正在解码一个响应体,我得到了错误: 我在Udemy上学习颤振教程时,正在尝试使用API。教程说要使用https://javiercbk.github.io/json_to_dart/将JSON转换为Dart。我把JSON从https://www.openbrewerydb.org/并将其转换为Dart,但我遇到的问题是,当我尝试解码API时,我得到了未处理的错误异常:“List”类型不是“Map