使用另一个列表的值 class
Use values of a list form another class
我正在尝试从我正在处理的设备中获取可用的摄像头。
为此我正在使用 final cameras = await availableCameras();
它 returns 我有一个包含多个 'CameraDescriptions'.
的列表
然后我希望将列表交给另一个 class 实际使用它来激活相机。目前看起来像这样:
class TakePicturePage extends StatefulWidget {
final CameraDescription cameras;
TakePicturePage({@required this.cameras});
@override
_TakePicturePageState createState() => _TakePicturePageState();
}
class _TakePicturePageState extends State<TakePicturePage> {
var usedcamera = cameras[0]; //not accepting the first value of 'cameras'
CameraController _cameraController;
Future<void> _initializeCameraControllerFuture;
@override
void initState() {
super.initState();
_cameraController =
CameraController(widget.usedcamera, ResolutionPreset.veryHigh);
_initializeCameraControllerFuture = _cameraController.initialize();
}
我面临的问题是 'cameras' 的第一个值无法分配给变量 'usedcamera'。该错误甚至告诉我 'cameras' 未定义。但是我不是已经用 TakePicturePage({@required this.cameras});
定义了吗
顺便说一句,我从中获取列表 'cameras' 的函数如下所示:
void _showCamera() async {
final cameras = await availableCameras();
print(cameras);
final result = await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TakePicturePage(cameras: cameras)));
所以,我正在尝试使用 Navigator.push
推送数据
提前感谢您的回答!
在下面的代码中:
_cameraController = CameraController(widget.usedcamera, ResolutionPreset.veryHigh);
要访问特定相机的值,您应该执行类似
的操作
_cameraController = CameraController(widget.cameras[0].usedcamera, ResolutionPreset.veryHigh);
直接访问传入列表中的摄像机。
希望对您有所帮助!如果这有效,请告诉我。
编辑:
要给变量赋值,试试var usedcamera = widget.cameras[0];
widget
关键字用来访问StatefulWidget
传递的列表里面的State
class.
我正在尝试从我正在处理的设备中获取可用的摄像头。
为此我正在使用 final cameras = await availableCameras();
它 returns 我有一个包含多个 'CameraDescriptions'.
然后我希望将列表交给另一个 class 实际使用它来激活相机。目前看起来像这样:
class TakePicturePage extends StatefulWidget {
final CameraDescription cameras;
TakePicturePage({@required this.cameras});
@override
_TakePicturePageState createState() => _TakePicturePageState();
}
class _TakePicturePageState extends State<TakePicturePage> {
var usedcamera = cameras[0]; //not accepting the first value of 'cameras'
CameraController _cameraController;
Future<void> _initializeCameraControllerFuture;
@override
void initState() {
super.initState();
_cameraController =
CameraController(widget.usedcamera, ResolutionPreset.veryHigh);
_initializeCameraControllerFuture = _cameraController.initialize();
}
我面临的问题是 'cameras' 的第一个值无法分配给变量 'usedcamera'。该错误甚至告诉我 'cameras' 未定义。但是我不是已经用 TakePicturePage({@required this.cameras});
顺便说一句,我从中获取列表 'cameras' 的函数如下所示:
void _showCamera() async {
final cameras = await availableCameras();
print(cameras);
final result = await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TakePicturePage(cameras: cameras)));
所以,我正在尝试使用 Navigator.push
推送数据提前感谢您的回答!
在下面的代码中:
_cameraController = CameraController(widget.usedcamera, ResolutionPreset.veryHigh);
要访问特定相机的值,您应该执行类似
的操作_cameraController = CameraController(widget.cameras[0].usedcamera, ResolutionPreset.veryHigh);
直接访问传入列表中的摄像机。
希望对您有所帮助!如果这有效,请告诉我。
编辑:
要给变量赋值,试试var usedcamera = widget.cameras[0];
widget
关键字用来访问StatefulWidget
传递的列表里面的State
class.