android - 在 Flutter 中使用按钮访问路由时出错
问题描述
每当我在加载应用程序时尝试点击下面代码中创建的按钮时,调试控制台都会给我这个错误。
════════ 手势捕捉到异常═════════════════════════════════════════════════════════ ═════ 在 _WidgetsAppState 中找不到路由 RouteSettings("/1000hz_route", null) 的生成器。
这是我试图运行的代码。我将如何解决这个错误?
import 'package:flutter/material.dart';
import 'package:audiotest/UI/player_widget.dart';
import 'package:flutter/material.dart';
import 'package:audiotest/UI/homepage1.dart';
const flutaud1 =
'https://audio.jukehost.co.uk/694139d474ee606401cc3aa8160159ac14662cd8/093232dd0c4';
void main() => runApp(new MaterialApp(
title: "TestAudio",
initialRoute: '/audio_selection',
routes: {
'/audio_selection': (context) => AudioSelection(),
'/1000hz_route': (context) => MainPersistentTabBar1(),
}));
class AudioSelection extends StatefulWidget {
@override
IntroScreenstate2 createState() => IntroScreenstate2();
}
class IntroScreenstate2 extends State<AudioSelection> {
Widget _tab(List<Widget> children) {
return Center(
child: new Container(
child: new SingleChildScrollView(
padding: EdgeInsets.all(16.0),
child: Column(
children: children
.map((w) => Container(child: w, padding: EdgeInsets.all(6.0)))
.toList(),
),
),
));
}
Widget build(BuildContext context) {
return new Scaffold(
body: new Center(
child: _tab([
Text(
'Audio 1000 HZ',
style: TextStyle(fontWeight: FontWeight.bold),
),
PlayerWidget(url: flutaud1),
new MaterialButton(
child: new Text('Select 1000 hz'),
onPressed: () {
Navigator.pushNamed(context, '/1000hz_route');
},
),
])
)
);
}
}
解决方案
我不确定,但我告诉你的方式会让你的项目启动并运行。请让我知道这对你有没有用。
在您的内部执行此操作onPressed
Navigator.push(context, new MaterialPageRoute(
builder: (context) => MainPersistentTabBar1())
);
代替
Navigator.pushNamed(context, '/1000hz_route');
推荐阅读
- c# - System.NullException 和其他错误 - 禁用
- computational-geometry - 粗略测试点是否在凸包的内部/外部
- android - Android CTS 不执行测试
- python - Fabric 2.0.1 env 的替代品是什么?
- java - 抽象类的依赖注入
- mysql - MySQL NOT NULL 插入行为
- powershell - 无法从 VLAN 中的远程计算机使用 Get-WinEvent
- sql - SQL Server 根据表一和表二中的日期条件在一个表中获取 id
- asp.net - 从 Web Api 中的两个表获取数据的问题
- amazon-web-services - 无法在 Docker 下运行 AWS SAM CLI