What I'm trying to do is to communicate between Flutter and Android. For this I'm using EventChannel and MethodChannel. Due to codec restrictions I need to wrap my Android data in HashMap before sending it to Flutter. On the Flutter side I'm trying to unwrap it for display in the simple ListView. However, I have problem with typecasting that I can't figure out
factory BLEService.fromMap(Map<String, dynamic> map) => BLEService(
map['uuid'] as String,
(map['characteristics'] as List<BLECharacteristic>)
.map<BLECharacteristic>((e) =>
BLECharacteristic.fromMap(e as Map<String, BLECharacteristic>)
).toList()
);
For this line the following exception is thrown:
type 'List<Object?>' is not a subtype of type 'List<BLECharacteristic>' in type cast
Help to solve this issue would be greatly appreciated
Edit
Flutter BLECharacteristic.fromMap
factory BLECharacteristic.fromMap(Map<String, dynamic> map) => BLECharacteristic(
map['uuid'] as String,
);
Java BLECharacteristic.toMap
HashMap<String, Object> toMap() {
HashMap<String, Object> bleCharacteristicMap = new HashMap<>();
bleCharacteristicMap.put("uuid", uuid);
return bleCharacteristicMap;
}