Flutter类型转换异常:List无法转为ConnectivityResult问题求助
Flutter类型转换异常:'List'不是'ConnectivityResult'的子类型
异常原因
你使用的connectivity(或connectivity_plus)插件版本中,checkConnectivity()方法返回值为Future<List<ConnectivityResult>>,而非单个ConnectivityResult。但代码里强行将返回结果转为单个ConnectivityResult类型,导致类型不匹配抛出异常。
解决方法
直接接收列表类型的返回值,无需强制转换,再传入_updateConnectionStatus方法即可,修改后的代码如下:
Future<void> _checkInitialConnection() async { final List<ConnectivityResult> result = await _connectivity.checkConnectivity(); _updateConnectionStatus(result); }
如果只需要第一个活跃网络连接状态,也可以这样处理:
Future<void> _checkInitialConnection() async { final List<ConnectivityResult> results = await _connectivity.checkConnectivity(); // 取第一个结果,为空则默认设为无连接 final ConnectivityResult result = results.isNotEmpty ? results.first : ConnectivityResult.none; _updateConnectionStatus([result]); }
内容的提问来源于stack exchange,提问作者Alejandro Hernandez
相关产品推荐
相关产品推荐

