我想声明一个静态变量并在以下函数中初始化它,但收到错误:“必须初始化不可为 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/