Ошибка при использовании кнопки для доступа к маршруту во Flutter - PullRequest
0 голосов
/ 26 мая 2020

Каждый раз, когда я пытаюсь нажать кнопку, созданную в приведенном ниже коде, когда я загружаю приложение, консоль отладки выдает мне эту ошибку. ══════════════════════════════════════. Не удалось найти генератор для маршрута RouteSettings (" / 1000hz_route ", null) в _WidgetsAppState.

Вот код, который я пытаюсь запустить. Как мне go исправить эту ошибку?

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

    ])
    )
    );

  }
}

1 Ответ

1 голос
/ 26 мая 2020

Я не уверен, но так, как я говорю, ваш проект будет запущен. Дайте мне знать, работает ли это для вас.

Сделайте это внутри своего onPressed

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

вместо

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