Метод был вызван при нулевой ошибке flutter Hive

Открытие коробки

      var savedList;

Future initiateHive() async {
    ///Creating a HiveBox to Store data
    savedList = await Hive.openBox('Musicbox');
}

Функция для размещения данных в улье

      var songFav = SongPlayList()..songInfo = songs[currentIndex].id;

print(songs[currentIndex].id);

savedList.put(songs[currentIndex].id, songFav);

Ошибка

Возникло другое исключение: NoSuchMethodError: метод put был вызван для null.

1 ответ

Решение

Я думаю проблема в том, что savedList.put(songs[currentIndex].id, songFav); вызывается до завершения выполнения, так как initiateHive() асинхронный, поэтому savedList все еще ноль

вы можете сделать что-то вроде:

      if (savedList != null){
    savedList.put(songs[currentIndex].id, songFav);
}
Другие вопросы по тегам