Ошибка при передаче значения в Java — оператор проверки null, используемый для нулевого значения

#flutter #dart

Вопрос:

Я пытаюсь передать код класса через канал связи java, подобный этому:

 onImageCapture() async {
    try {
      await platform_foto.invokeMethod('onImageCapture', {
        "codigo": widget.cod
      });
    } on Exception catch (e) {}
  }
 

но я понимаю:

оператор проверки на нуль, используемый для нулевого значения

В том же классе я могу отображать код класса обычно следующим образом:

 Text(
"Cód. Aula: "   widget.codigo.toString(),
 style: TextStyle(
 fontSize: 15,
 fontWeight: FontWeight.normal)),
 

Я утверждаю это таким образом:

 class Monitoramento extends StatefulWidget {
  final int cod;
 .
 .
 .
  const Monitoramento(
      {this.cod,.. ..., ...});

  @override
  MonitoramentoState createState() => new MonitoramentoState();
}
 

Что я делаю не так? В одном пункте кода это работает, но в другом-нет? Должен ли я переключиться на нулевую безопасность?

Я использую версию: Flutter 2.2.3

Я ценю любые комментарии!

Комментарии:

1. перед использованием любого оператора null вы должны подтвердить, что он не является нулевым, добавив условие if для вашей переменной, просто чтобы проверить, является ли она нулевой или нет, если она проходит тестовое условие, то только вам следует перейти к использованию проверки add null, иначе это может вызвать у вас эту проблему