繁体   English   中英

Flutter: LateInitializationError"Field"_camera@26505073'尚未初始化

[英]Flutter: LateInitializationError" Field"_camera@26505073' has not been initialized

这个 flutter 代码曾经可以工作,但在更新后它不再工作了,我已经为此苦苦挣扎了几个小时。 错误说

LateInitializationError: Field '_camera@26505073' has not been initialized.

这是我的代码

class _CameraFlowState extends State<CameraFlow> {
  // 2
  late CameraDescription _camera;
  bool _shouldShowCamera = false;

  int len = 0;

  // 3
  List<MaterialPage> get _pages {
    return [
      // Show Gallery Page
      MaterialPage(
          child: GalleryPage(
              shouldLogOut: widget.shouldLogOut,
              shouldShowCamera: () => _toggleCameraOpen(true))),
      // Show Camera Page
      if (_shouldShowCamera)
        MaterialPage(
            child: CameraPage(
                camera: _camera,
                didProvideImagePath: (imagePath) {
                  _toggleCameraOpen(false);
                }))
    ];
  }


  @override
  void initState() {
    super.initState();
    _getCamera();
  }

  @override
  Widget build(BuildContext context) {
    // 4
    return Navigator(
      pages: _pages,
      onPopPage: (route, result) => route.didPop(result),
    );
  }

  // 5
  void _toggleCameraOpen(bool isOpen) {
    setState(() {
      _shouldShowCamera = isOpen;
    });
  }

  Future<void> _getCamera() async {
    final camerasList = await availableCameras();
    setState(() {
      final firstCamera = camerasList.first;
      _camera = firstCamera;
    });
  }
}

我试过这样做

CameraDescription? _camera;

但后来我得到

Null check operator used on a null value.

我该如何解决这个问题? 请帮帮我...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM