必须初始化不可为 null 的变量 'cameras'
The non-nullable variable 'cameras' must be initialized
当我尝试使用相机变量时,我的代码出现以下错误。如何纠正这个。感谢您对此的帮助。
The non-nullable variable 'cameras' must be initialized.
CameraScreeen.dart
import 'package:camera/camera.dart';
import 'package:flutter/material.dart';
List <CameraDescription> cameras;
class CameraScreen extends StatefulWidget {
const CameraScreen({Key? key}) : super(key: key);
@override
_CameraScreenState createState() => _CameraScreenState();
}
class _CameraScreenState extends State<CameraScreen> {
@override
Widget build(BuildContext context) {
return Scaffold();
}
}
main.dartt
Future <void> main() async{
WidgetsFlutterBinding.ensureInitialized();
cameras =await availableCameras();
runApp(const MyApp());
}
使相机可变。
喜欢:-
List <CameraDescription>? cameras;
你不能在没有分配 dart null 安全的情况下留下一个非空变量,不允许这样做..
你的全局变量相机没有初始化
List<> camera;//for global it is not acceptable
you can make List<>? camera;// now it is acceptable but you must need to initialize first before using it other wise it will throw exception
您可以像这样使 cameras List
可为空:
List<CameraDescription>? cameras;
或者如果您不想让它为空,那么您可以像这样创建一个空的摄像机列表:
List<CameraDescription> cameras = List<CameraDescription>.empty(growable: true);
这是由于 Flutter 和 Dart 完善的空安全特性。
变量现在不能为空,如果你想接受它们 null
值,你必须使用 ?
使它们可以为空
例如:
List <CameraDescription>? cameras;
如果您仍然不想让它们可以为空,那么您可以使用 late
关键字,它允许我们稍后初始化值,但我们必须确保它在某处使用之前已初始化.
例如:
late List <CameraDescription> cameras;
当我尝试使用相机变量时,我的代码出现以下错误。如何纠正这个。感谢您对此的帮助。
The non-nullable variable 'cameras' must be initialized.
CameraScreeen.dart
import 'package:camera/camera.dart';
import 'package:flutter/material.dart';
List <CameraDescription> cameras;
class CameraScreen extends StatefulWidget {
const CameraScreen({Key? key}) : super(key: key);
@override
_CameraScreenState createState() => _CameraScreenState();
}
class _CameraScreenState extends State<CameraScreen> {
@override
Widget build(BuildContext context) {
return Scaffold();
}
}
main.dartt
Future <void> main() async{
WidgetsFlutterBinding.ensureInitialized();
cameras =await availableCameras();
runApp(const MyApp());
}
使相机可变。 喜欢:-
List <CameraDescription>? cameras;
你不能在没有分配 dart null 安全的情况下留下一个非空变量,不允许这样做..
你的全局变量相机没有初始化
List<> camera;//for global it is not acceptable
you can make List<>? camera;// now it is acceptable but you must need to initialize first before using it other wise it will throw exception
您可以像这样使 cameras List
可为空:
List<CameraDescription>? cameras;
或者如果您不想让它为空,那么您可以像这样创建一个空的摄像机列表:
List<CameraDescription> cameras = List<CameraDescription>.empty(growable: true);
这是由于 Flutter 和 Dart 完善的空安全特性。
变量现在不能为空,如果你想接受它们 null
值,你必须使用 ?
例如:
List <CameraDescription>? cameras;
如果您仍然不想让它们可以为空,那么您可以使用 late
关键字,它允许我们稍后初始化值,但我们必须确保它在某处使用之前已初始化.
例如:
late List <CameraDescription> cameras;