Flushbar编译器问题



我是flushbar小部件的新手。在小部件上的一些文章和视频之后,我构建了一个简单的代码示例,导致以下编译器错误。https://pub.dev/packages/flushbar

大多数示例都依赖于onPressed单击事件。在我的情况下,我需要在显示flushbar消息之前进行一些处理。

我尝试了两种版本:flushbar:^1.10.0flushbar:^1.9.1

你能告诉我用下面的代码运行什么吗?

这是编译器错误:

正在运行Gradle任务"assemblyDebug"。。。编译器消息:/C:/src/flutter/.pub cache/hosts/pub.dartlang.org/flushbar-1.0.0/lib/flushbar_route.dart:303:8:错误:方法"FlushbarRoute.install"的位置参数少于重写方法"OverlayRoute.install"的位置变量。void install(({^/C:/src/flutter/packages/flutter/lib/src/widgets/routes.dart:41:8:Context:这是被覆盖的方法('install'(。void install(OverlayEntry insertionPoint({^/C:/src/flutter/.pub cache/hosts/pub.dartlang.org/flushbar-1.0.0/lib/flushbar_route.dart:311:18:错误:位置参数太少:需要1个,给定0个。super.install((;^目标kernel_snapshot失败:异常:创建快照期间出错:null生成失败。

失败:生成失败,出现异常。

  • 其中:脚本"C:\src\flatter\packages\flutter_tools\gradle\flatter.gradle"行:780

  • 哪里出了问题:任务":app:compileFlutterBuildDebug"的执行失败。

    进程"命令"C:\src\flatter\bin\flatter.bat"以非零退出值1 完成

这是我的示例代码。语法上没有错误,但编译失败。

import 'package:flutter/material.dart';
import 'package:flushbar/flushbar.dart';
class MyHomePage extends StatefulWidget {
MyHomePage();
@override
State<StatefulWidget> createState() {
return _MyHomePage();
}
}
class _MyHomePage extends State<MyHomePage> {
int _selectedIndex = 2;
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Flushbar')),
body: Center(
child:
BottomNavigationBar(
items: <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(Icons.today),
title: Text('Today'), // Today button.
),
BottomNavigationBarItem(
icon: Icon(Icons.business ),
title: Text('Activities'),  // Activities.
),
BottomNavigationBarItem(
icon: Icon(Icons.save),
title: Text('Finish'), // Finish
),
],
currentIndex: _selectedIndex,
selectedItemColor: Colors.amber[800],
onTap: _onItemTapped,
)
),
);
}
void _onItemTapped(int index) {
setState(() {
switch (index) {
case 0:           // Today selected.
//          todayButtonPressed();
break;
case 1:           // Activity selected.
//          activityButtonPressed();
break;
case 2:           // Finish selected.
finishButtonPressed();
break;
}
});
}
void finishButtonPressed() async {
// Processing record.
// .....
// ....
displayFlushBar(context);
}
void displayFlushBar(BuildContext context) {
Flushbar(
title: 'Action',
message: 'Is prohibited',
icon: Icon(
Icons.info_outline,
size: 28,
color: Colors.blue.shade300,
),
leftBarIndicatorColor: Colors.blue.shade300,
duration: Duration(seconds: 3),
)..show(context);
}
}

这是本票证中提到的flushbar 1.10.0上的已知问题。自Flutter 1.17以来,该问题已得到修复。升级Flutter SDK应该可以解决这个问题,在您的终端上运行flutter upgrade来更新已安装的Flutter SDK。

最新更新