首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lateIntailizatationError与Nullcheck算符

lateIntailizatationError与Nullcheck算符
EN

Stack Overflow用户
提问于 2021-12-07 13:08:03
回答 2查看 84关注 0票数 0

当我编译我的应用程序时,错误{LateInitializationError: Field 'contorller‘还没有被初始化},当我用?接线员放!在依赖于变量(如堆栈溢出)的方法建议出现另一个错误之前,{空检查操作符用于空值},那么我如何解决这个问题?

这是一个有地位的阶级

代码语言:javascript
复制
class _MyHomePageState extends State<MyHomePage> {
BarcodeDetector ?labeler;
CameraController? controller;
bool isBusy = false;
String result = "";
File ?_image;
ImagePicker ?imagePicker;
CameraImage ?img;
void initState() {
super.initState();
labeler = FirebaseVision.instance.barcodeDetector();
  }
intializeCamera() async {
controller = CameraController(cameras[0], ResolutionPreset.medium);
await controller!.initialize().then((_) {
if (!mounted) {
return;
}
controller!.startImageStream((image) => {
if (!isBusy) {isBusy = true, img = image, doBarcodeScanning()}
});
});
  }



void dispose() {
controller!.dispose();
labeler!.close();
super.dispose();
  }



Center(
child: Container(
margin: EdgeInsets.only(top: 100),
height: 220,
width: 220,
child: AspectRatio(
aspectRatio: controller!.value.aspectRatio,
child: CameraPreview(controller),
),
),
),
EN

回答 2

Stack Overflow用户

发布于 2021-12-07 13:22:23

intializeCamera()是一种未来的方法,我将鼓励您在这种情况下使用FutureBuilder。初始化将来的数据需要一些时间。

第二种情况是controller是可空的,这意味着它可以接收空数据,这很好。CameraController? controller;

但是,在对其使用null检查的同时,还要处理这种情况。

你也可以像这样处理

代码语言:javascript
复制
  if (controller != null)
                  Center(
                    child: Container(
                      margin: EdgeInsets.only(top: 100),
                      height: 220,
                      width: 220,
                      child: AspectRatio(
                        aspectRatio: controller!.value.aspectRatio,
                        child: CameraPreview(controller),
                      ),
                    ),
                  ),
票数 0
EN

Stack Overflow用户

发布于 2021-12-07 13:33:04

initState()中使用控制器之前先初始化它们,不要将控制器定义为null,而是使用late关键字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70260729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档