Flutter: Dart Cast Error (оператор проверки NULL используется для нулевого значения)

Я новичок в Flutter, я пытаюсь открыть камеру, для этого я следовал примеру кода, но когда я отлаживаю свое приложение, он дает мне исключение, как показано на изображении

Вот мой код:

      import 'dart:async';
import 'package:flutter/material.dart';
import 'package:camera/camera.dart';
import 'home.dart';

List<CameraDescription> cameras;

Future<Null> main() async {
  try {
    cameras = await availableCameras();
  } on CameraException catch (e) {
    print('Error: $e.code\nError Message: $e.message');
  }
  runApp(new MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'RealTime Detection',
      home: HomePage(cameras),
    );
  }
}

1 ответ

вы можете сделать что-то вроде этого:

      void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) => MaterialApp(
        debugShowCheckedModeBanner: false,
        title: 'RealTime Detection',
        home: FutureBuilder<List<CameraDescription>>(
          future: availableCameras(),
          builder: (
            BuildContext context,
            AsyncSnapshot<List<CameraDescription>> snapshot,
          ) {
            if (snapshot.hasData) {
              return HomePage(snapshot.data);
            } else {
              return CircularProgressIndicator();
            }
          },
        ),
      );
}
Другие вопросы по тегам