flutter 问题:操作数不能为 null,因此条件始终为 true

问题描述 投票:0回答:1

我是 Flutter 新手,但正在做我学位的最后一年项目。目前我面临着将谷歌地图集成到我的应用程序中的代码问题。

void _addMarker(LatLng pos) {
  var _origin;
 ** if (_origin == null || (_origin != null && _destination != null))** {
    setState( () {
      _origin = Marker(
        markerId: const markerId('origin'),
        infoWindow: const InfoWindow(title: 'origin'),
        icon: 
            BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueGreen),
        position: pos,);
    });
  } else {}

我可以在 _origin == null 处遇到问题。它表示操作数不能为空。请帮我解决这个问题。

flutter flutter-dependencies
1个回答
0
投票
var _origin;

您正在检查该变量的值,它当然是空的。

dart 分析器警告您,该变量不能为空,但它当前为空,这导致该条件始终为真。

修复

你有两个选择

  • 在检查之前为该变量赋值

当你确定一个变量有一个变量时检查它是没有意义的 价值

  • 将其从该状态中删除

既然现在确定是null了,那么检查的目的是什么呢

我建议第二种选择。

btw,我一直认为您打算检查另一个具有相同名称

_origin
的变量的值。重新检查一下。

希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.