颤振/飞镖: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