Flutter 未处理的异常:类型“Null”不是类型转换中“List<dynamic>”类型的子类型

Posted

技术标签:

【中文标题】Flutter 未处理的异常:类型“Null”不是类型转换中“List<dynamic>”类型的子类型【英文标题】:Flutter Unhandled Exception: type 'Null' is not a subtype of type 'List<dynamic>' in type cast 【发布时间】:2022-01-13 04:00:01 【问题描述】:

我需要将模型分配给应用程序中的列表,但出现标题中提到的错误。

虽然我在android端得到这个错误,但我没有问题,但是当我在ios端尝试时,我的应用程序崩溃了。

List<MessageModel> messageList = [];
String? message;
bool success = false;

@override
MessageService decode(dynamic data) 
messageList = (data as List).map((e) => MessageModel.fromJsonData(e)).toList(); ----> Unhandled Exception: type 'Null' is not a subtype of type 'List<dynamic>' in type cast
return this;

【问题讨论】:

【参考方案1】:

您收到错误的原因是data 为空。

试试我的解决方案:

List<MessageModel> messageList = [];
String? message;
bool success = false;

@override
MessageService decode(dynamic data) 
  messageList = data?.map((e) => MessageModel.fromJsonData(e))?.toList() ?? [];
  return this;

【讨论】:

现在我的列表不再得到并得到 [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] 未处理的异常:类型“_TypeError”不是类型中“DioError”类型的子类型投射错误 你的data是什么类型的?【参考方案2】:
    List<MessageModel> ?messageList = [];
String? message;
bool success = false;

@override
MessageService decode(dynamic data) 
messageList = (data as List).map((e) => MessageModel.fromJsonData(e)).toList(); ----> Unhandled Exception: type 'Null' is not a subtype of type 'List<dynamic>' in type cast
return this;

【讨论】:

以上是关于Flutter 未处理的异常:类型“Null”不是类型转换中“List<dynamic>”类型的子类型的主要内容,如果未能解决你的问题,请参考以下文章

错误:flutter/lib/ui/ui_dart_state.cc(157) 未处理的异常:类型 'Future<dynamic>' 不是类型 'FutureOr<Null>

Dart 未处理的异常:类型 'List<dynamic>' 不是类型 'Family' 的子类型,- Flutter

未处理的异常:类型“int”不是 Flutter 应用程序中“String”类型的子类型

Flutter [错误:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:类型“int”不是类型转换中“String”类型的子类型

未处理的异常:类型“List<dynamic>”不是 dart/flutter 中“Map<String, dynamic>”类型的子类型

未处理的异常:NoSuchMethodError:方法'showNotificationDaily'在flutter中被调用为null