首页 > 解决方案 > 在 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');
          },
        ),

    ])
    )
    );

  }
}

标签: androidflutterdart

解决方案


我不确定,但我告诉你的方式会让你的项目启动并运行。请让我知道这对你有没有用。

在您的内部执行此操作onPressed

Navigator.push(context, new MaterialPageRoute(
 builder: (context) => MainPersistentTabBar1())
);

代替

Navigator.pushNamed(context, '/1000hz_route');

推荐阅读