Android Studio 抖动图像拾取器崩溃

x0fgdtte  于 2023-01-14  发布在  Android
关注(0)|答案(1)|浏览(110)

我正在尝试使用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");
    }
 
  }
2sbarzqh

2sbarzqh1#

此代码片段可以帮助您。

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);
    }
  }
}

相关问题