颤振/飞镖:getter“length”在null上被调用 I/颤振9255:══╡ WIDGETS库捕获到异常╞═══════════════════════════════════════════════════════════ I/Flatter 9255:在building FutureBuilderdirty,state中引发了以下NoSuchMethodError: I/颤振9255:_FutureBuilderState734fc: I/flutter 9255:在null上调用了getter“length”。 I/颤振9255:接收器:空 I/颤振9255:尝试呼叫:长度
----代码片段-----颤振/飞镖:getter“length”在null上被调用 I/颤振9255:══╡ WIDGETS库捕获到异常╞═══════════════════════════════════════════════════════════ I/Flatter 9255:在building FutureBuilderdirty,state中引发了以下NoSuchMethodError: I/颤振9255:_FutureBuilderState734fc: I/flutter 9255:在null上调用了getter“length”。 I/颤振9255:接收器:空 I/颤振9255:尝试呼叫:长度,flutter,dart,Flutter,Dart,----代码片段----- Future<List<Asset>> getAssets() async { var dbClient = await db; List<Map> list = await dbClient.rawQuery('SELECT * FROM Assets'); print("created List Map from DB table Assets"); //List<Asset> assets = Li
Future<List<Asset>> getAssets() async {
var dbClient = await db;
List<Map> list = await dbClient.rawQuery('SELECT * FROM Assets');
print("created List Map from DB table Assets");
//List<Asset> assets = List();
List assets = [];
for (int i = 0; i < list.length; i++) {
assets.add(Asset());
}
print(assets.length);
return assets;
}
rawQuery正在返回null
您应该像这样更新代码
List<Map> list = (await dbClient.rawQuery('SELECT * FROM Assets'))??[];
Future getAssets异步{var dbClient=await db;List List=await dbClient.rawQuery'SELECT*FROM Assets';printlist[0];List Assets=new List;//List Assets=[];for int i=0;i