Улей флаттера - необработанное исключение: тип «Список <dynamic>» не является подтипом типа «Список <SourceStations>» в приведении типа - PullRequest
0 голосов
/ 17 марта 2020

Я использую этот пакет https://pub.dev/packages/hive

Я хочу сохранить и получить список пользовательских объектов в улье.

Я попытался использовать следующий подход

await Hive.openBox<List<SourceStations>>(stationBox); //Open box
Box<List<SourceStations>> sourceStationsBox = Hive.box(stationBox); 
sourceStationsBox.put(stationBox, listSourceStation); //Saving list of custom object as listSourceStation
//Should probably give lenght of list of custom object
logger.d('station box list length is ${sourceStationsBox.get(stationBox).length}'); 

Но я получаю ошибку ниже

E / флаттер (24061): [ОШИБКА: флаттер / оболочка / общий / оболочка. cc (199)] Дарт Ошибка: необработанное исключение: E / flutter (24061): тип «Список» не является подтипом типа «Список» в приведенном типе E / flutter (24061): # 0 BoxImpl.get (package: hive / src / box / box_impl .dart: 43: 26) E / flutter (24061): # 1
_SourceToDestinationPageState.openStationBox

Я пытался проверить это решение, но не получил достаточного представления о том, как исправить это.

Ниже приведена версия улья, которую я использую

  • куст: ^ 1.3.0
  • hive_flutter: ^ 0.3.0 + 1
  • hive_generator: ^ 0.7.0

1 Ответ

0 голосов
/ 04 апреля 2020

«Параметры типа Generi c, такие как Box<List>, не поддерживаются из-за ограничений Dart.» Это упоминается в авторской документации: https://docs.hivedb.dev/# / basics / boxes внизу страницы.

...