我是个新手,在Flutter上介绍了关于路线和分页器的一个异常(exception)。

EXCEPTION CAUGHT BY GESTURE
The following assertion was thrown while handling a gesture:
Could not find a generator for route "/listadecompras" in the _MaterialAppState.

遵循摘录的代码:
import 'package:flutter/material.dart';

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
// ...
                return new ListTile(
                  onTap: () {
                    Navigator.pushNamed(context, "/listadecompras");
                  },
// ...
}


class ListaDeCompras extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
// ...
}
}


void main() {
runApp(new MaterialApp(
    home: new MyApp(),
    routes: <String, WidgetBuilder>{
        "/listadecompras": (BuildContext context) => new ListaDeCompras()
    }
));
}

拜托,有人可以给我提些建议吗?
预先感谢您的关注

最佳答案

因为实例化了两个MaterialApp小部件。您需要删除MyApp类中的一个,并将其更改为Scaffold例子:

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
// ...
                return new ListTile(
                  onTap: () {
                    Navigator.pushNamed(context, "/listadecompras");
                  },
// ...
}
问题是您的代码吗-路由正在尝试解析没有路由定义的最接近的MaterialApp。也就是说,您应该仅使用一个MaterialApp作为窗口小部件树的根。

10-08 18:22