【问题标题】:flutter image picker crashing抖动图像选择器崩溃
【发布时间】:2023-01-12 04:43:53
【问题描述】:

我正在尝试在 flutter 应用程序上使用 image_picker 一切都很好,直到画廊打开我选择图像然后应用程序将崩溃并重新启动。

在此之前它像 1 个月前一样工作正常,但现在不是。有什么解决办法

这是我的代码。

  Future _pickImage() async {
    try {
      final image = await ImagePicker().pickImage(source: ImageSource.gallery);

      if (image == null) return;
      final imageTemporary = File(image.path);
      setState(() {
        _image = imageTemporary;
      });
    } catch (error) {
      print("error: $error");
    }
    // setState(() {
    //   _image = img;
    // });
  }
  File? _image;

  Future _pickImage() async {
    try {
      final image = await ImagePicker().pickImage(source: ImageSource.gallery);

      if (image == null) return;
      final imageTemporary = File(image.path);
      setState(() {
        _image = imageTemporary;
      });
    } catch (error) {
      print("error: $error");
    }
 
  }

【问题讨论】:

  • 显示控制台响应..代码没问题。它立即崩溃将在代码中给出一些错误..
  • 分享崩溃日志。
  • 我完全没有错误。我在模拟器上试过一样。但刚才我在我朋友的手机上试了一下,它工作正常。可能是什么原因
  • 您可以发布 image_picker 版本和 Flutter 医生日志吗?

标签: flutter android-studio flutter-dependencies flutter-test flutter-image-picker


【解决方案1】:

此代码 sn-p 可以帮助您。

import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
    


class PickImage extends StatefulWidget {
  const PickImage({Key? key}) : super(key: key);

  @override
  State<PickImage> createState() => _PickImageState();
}

class _PickImageState extends State<PickImage> {
  XFile? _image;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: SingleChildScrollView(
        child: Column(
          children: [
            TextButton(
                onPressed: _imageHandler, child: const Text("Pick image")),
            if (_image != null) Image.file(File(_image!.path))
          ],
        ),
      ),
    );
  }

  Future _imageHandler() async {
    try {
      final XFile? imagePicker =
          await ImagePicker().pickImage(source: ImageSource.gallery);
      if (imagePicker != null) {
        _image = imagePicker;
      } else {
        /// user canceled
      }
    } catch (e) {
      print(e);
    }
  }
}

【讨论】:

    猜你喜欢
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 2023-01-24
    相关资源
    最近更新 更多