我正在尝试从数据库中获取“任务”列表
我通过openDatabase
函数的onOpen()
获取数据,并将数据存储在另一个名为constants.dart
的dart文件的List中,该文件包含List<Map<dynamic, dynamic>>? tasks;
,
这就是我如何得到数据
import '../shared/components/constants.dart';
onOpen: (database) {
getFromDatabase(database).then((value) {
tasks = value;
print(tasks);
});
}
任务打印成功
现在我需要访问另一个文件current_tasks.dart
中的数据,因此我从该文件导入了任务,以便从tasks
构建ListView
import '../../shared/components/constants.dart';
在itemCount
中我尝试调用tasks.length
itemCount: tasks.length
但我出错了
The property 'length' can't be unconditionally accessed because the receiver can be 'null'
我试着在tasks
之后添加!
itemCount: tasks!.length
但我得到了这个错误
Null check operator used on a null value
我认为我必须等待数据库获取数据,然后构建ListView,但我不知道如何构建
1条答案
按热度按时间3qpi33ja1#
错误可能是你所说的,getFromDatabase是一个未来的方法,所以它需要一些时间来获取值,当你调用tasks!. length时,tasks还没有准备好,并且是null。你可以做类似的事情
当你使用onOpen方法的时候,输入await onOnpen。2更多的信息请看未来的方法。3我希望这能帮助你。