-1

打开盒子

var savedList;

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

将数据放入 hive 的函数

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

print(songs[currentIndex].id);

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

错误是

引发了另一个异常:NoSuchMethodError:在 null 上调用了方法“put”。

4

1 回答 1

0

我认为问题是在完成执行savedList.put(songs[currentIndex].id, songFav);之前调用,因为它是异步的,所以仍然为空initiateHive()initiateHive()savedList

您可以执行以下操作:

if (savedList != null){
    savedList.put(songs[currentIndex].id, songFav);
}
于 2021-03-27T07:38:43.913 回答