flutter - 声明变量而不初始化它 flutter

标签 flutter variables static declaration non-nullable

我想声明一个静态变量并在以下函数中初始化它,但收到错误:“必须初始化不可为 null 的变量 'screenWidth'。”

代码:

import 'package:flutter/material.dart';

class SizeConfig {
  static MediaQueryData _mediaQueryData;
  static double screenWidth;
  static double screenHeight;
  static double defaultSize;
  static Orientation orientation;

  void init(BuildContext context) {
    _mediaQueryData = MediaQuery.of(context);
    screenWidth = _mediaQueryData.size.width;
    screenHeight = _mediaQueryData.size.height;
    orientation = _mediaQueryData.orientation;
  }
}

最佳答案

在声明变量的数据类型后使用 late 关键字或使用 ? ,以便 flutter 知道您稍后将在某个时间点或某个时间点初始化该变量变量将为 null 。

示例:

late int 变量;//该变量稍后会被初始化

或者

int?多变的;//变量可以有值也可以为空。

关于flutter - 声明变量而不初始化它 flutter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68973038/

相关文章:

flutter - 在 firebase 数据中没有记录时显示控制台错误

timer - flutter 倒数计时器

flutter - 如何将参数传递给命名路由中的小部件?

javascript - $ 未在 javascript 中定义 ajax 请求

java - 初始化类变量时类变量的类加载顺序

c++跨编译单元的增量类型ID

Flutter BottomNavigationBar 堆栈溢出

php - $this 是什么意思

sql - 在 HSQLDB 中,您可以选择一个变量并在 INSERT 中使用它吗

C++:静态变量不随静态 set() 函数改变