Android 错误:参数类型';无效函数(ImageInfo,bool)和#x27;can';不能分配给参数类型';ImageStreamListener';
升级Flatter run后,应用程序不会运行。我升级是因为Android 错误:参数类型';无效函数(ImageInfo,bool)和#x27;can';不能分配给参数类型';ImageStreamListener';,android,flutter,dart,flutter-dependencies,Android,Flutter,Dart,Flutter Dependencies,升级Flatter run后,应用程序不会运行。我升级是因为ImageStreamListener 我试图改变不同的频道[主频道、稳定频道、开发频道],但不工作 我在颤振中发现了这个问题,但它并没有帮助 这是我的flatter医生 [✓] Flutter (Channel unknown, v1.7.11, on Mac OS X 10.14.5 18F132, locale en-PE) [✓] Android toolchain - develop for Android devices (
ImageStreamListener
我试图改变不同的频道[主频道、稳定频道、开发频道],但不工作
我在颤振中发现了这个问题,但它并没有帮助
这是我的flatter医生
[✓] Flutter (Channel unknown, v1.7.11, on Mac OS X 10.14.5 18F132, locale en-PE)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
[✓] iOS tools - develop for iOS devices
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.4)
[!] IntelliJ IDEA Ultimate Edition (version 2019.1)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.36.0)
[✓] Connected device (3 available)
以及错误消息
Compiler message:
file:///Users/enzoftware/Development/flutter/.pub-cache/hosted/pub.dartlang.org/palette_generator-0.1.1/lib/palette_generator.dart:188:29: Error: The argument type 'void Function(ImageInfo, bool)' can't be assigned to the parameter type 'ImageStreamListener'.
- 'ImageInfo' is from 'package:flutter/src/painting/image_stream.dart' ('file:///Users/enzoftware/Development/flutter/packages/flutter/lib/src/painting/image_stream.dart').
- 'ImageStreamListener' is from 'package:flutter/src/painting/image_stream.dart' ('file:///Users/enzoftware/Development/flutter/packages/flutter/lib/src/painting/image_stream.dart').
Try changing the type of the parameter, or casting the argument to 'ImageStreamListener'.
stream.removeListener(imageListener);
^
file:///Users/enzoftware/Development/flutter/.pub-cache/hosted/pub.dartlang.org/palette_generator-0.1.1/lib/palette_generator.dart:194:31: Error: The argument type 'void Function(ImageInfo, bool)' can't be assigned to the parameter type 'ImageStreamListener'.
- 'ImageInfo' is from 'package:flutter/src/painting/image_stream.dart' ('file:///Users/enzoftware/Development/flutter/packages/flutter/lib/src/painting/image_stream.dart').
- 'ImageStreamListener' is from 'package:flutter/src/painting/image_stream.dart' ('file:///Users/enzoftware/Development/flutter/packages/flutter/lib/src/painting/image_stream.dart').
Try changing the type of the parameter, or casting the argument to 'ImageStreamListener'.
stream.removeListener(imageListener);
^
file:///Users/enzoftware/Development/flutter/.pub-cache/hosted/pub.dartlang.org/palette_generator-0.1.1/lib/palette_generator.dart:201:24: Error: The argument type 'void Function(ImageInfo, bool)' can't be assigned to the parameter type 'ImageStreamListener'.
- 'ImageInfo' is from 'package:flutter/src/painting/image_stream.dart' ('file:///Users/enzoftware/Development/flutter/packages/flutter/lib/src/painting/image_stream.dart').
- 'ImageStreamListener' is from 'package:flutter/src/painting/image_stream.dart' ('file:///Users/enzoftware/Development/flutter/packages/flutter/lib/src/painting/image_stream.dart').
Try changing the type of the parameter, or casting the argument to 'ImageStreamListener'.
stream.addListener(imageListener);
^
Compiler failed on /Users/enzoftware/Projects/Wibo/wibo-flutter-mobile-user/lib/main.dart
FAILURE: Build failed with an exception.
* Where:
Script '/Users/enzoftware/Development/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 652
* What went wrong:
Execution failed for task ':app:compileflutterBuildDebugArm'.
> Process 'command '/Users/enzoftware/Development/flutter/bin/flutter'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 29s
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done 29.7s
Gradle task assembleDebug failed with exit code 1
提前感谢。该API最近进行了重大更改 这里有一个新旧用法的例子
// get the width, height
Image image = new Image.file(myImageFile);
Completer<ImageInfo> completer = Completer();
// Old API
// image.image
// .resolve(new ImageConfiguration())
// .addListener((ImageInfo info, bool _) {
// completer.complete(info);
// });
// New API
image.image
.resolve(new ImageConfiguration())
.addListener(ImageStreamListener((ImageInfo info, bool _) {
completer.complete(info);
}));
// wait for ImageInfo to finish
ImageInfo imageInfo = await completer.future;
//获取宽度、高度
Image Image=newimage.file(myImageFile);
Completer Completer=Completer();
//旧API
//形象
//.resolve(新的ImageConfiguration())
//.addListener((图像信息,布尔){
//完成者。完成(信息);
// });
//新API
形象
.resolve(新的ImageConfiguration())
.addListener(ImageStreamListener((ImageInfo信息,bool){
完成者。完成(信息);
}));
//等待ImageInfo完成
ImageInfo ImageInfo=等待完成者.future;
我为此挣扎了几天,然后,作为一个实验,从zoomable_图像复制了源代码,创建了一个本地文件zoomable.dart,并编辑了有问题的行:
_imageStream.addListener(_handleImageLoaded);
_imageStream.removeListener(_handleImageLoaded);
到
作为git的新手,我觉得没有能力检查git文件并修复它。所有者不应该这样做吗?我从下面的链接获得了解决方案: 对于正在使用firebase_storage_image.dart文件的用户,这个问题主要会出现。上面的代码将适用于此
@Daibaku,看起来像是palette_生成器插件的0.2.0版(问题中的0.1.1版)于2019年7月19日发布。因此,这可能会更新为新的API。感谢您的评论。事实上,我在升级sdk到最新的sdk后就面临这个问题。我该怎么办?@aaronvargas我需要在哪里应用这些更改?因为在我的源代码中,我从来没有找到那个旧代码。@HirenVaghela,您正在使用的库很可能需要更新。在OP中,需要将调色板_生成器-0.1.1更新为0.2.0
_imageStream.addListener(ImageStreamListener(_handleImageLoaded));
_imageStream.removeListener(ImageStreamListener(_handleImageLoaded));
this._networkImage.image.resolve(ImageConfiguration()).addListener(
ImageStreamListener((ImageInfo image, bool synchronousCall) {
if (mounted)
setState(() => this._imageDownloadState = ImageDownloadState.Done);
}));