首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flutter: MaterialPageRoute路径"/“的构建器返回null

Flutter: MaterialPageRoute路径"/“的构建器返回null
EN

Stack Overflow用户
提问于 2020-11-08 13:59:52
回答 1查看 336关注 0票数 0

我刚刚开始学习flutter,并决定遵循一个教程。视频说我必须在路由工厂中使用MaterialPageRoute,并为我的路由声明全局常量,但我得到了这个错误

代码语言:javascript
复制
    The following assertion was thrown building Builder(dirty):
The builder for route "/" returned null.

以下是我的代码

代码语言:javascript
复制
import 'package:flutter/material.dart';
import 'package:layout_in_flutter/screens/location_detail/location_detail.dart';
import 'screens/locations/locations.dart';
import 'style.dart';

void main() {
  runApp(App());
}

const LocationsRoute = '/';
const LocationDetailRoute = '/location_detail';

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      onGenerateRoute: _routes(),
      theme: _theme(),
    );
  }

  RouteFactory _routes() {
    return (settings) {
      final Map<String, dynamic> arguments = settings.arguments;
      Widget screen;
      switch (settings.name) {
        case LocationsRoute:
          screen = Locations();
          break;
        case LocationDetailRoute:
          screen = LocationDetail(arguments['id']);
          break;
        default:
          return null;
      }
      return MaterialPageRoute(builder: (BuildContext context) => screen);
    };
  }

  ThemeData _theme() {
    return ThemeData(
      appBarTheme: AppBarTheme(
        textTheme: TextTheme(
          headline6: AppBarTextStyle,
        ),
      ),
      textTheme: TextTheme(
        headline6: Headline6TextStyle,
        bodyText2: BodyText2Style,
      ),
    );
  }
}

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-08 14:22:55

哦,天哪,现在我很尴尬,这个问题是因为我把整个代码放在main.dart上,当我把整个代码分离到另一个新文件中时,它就能工作了。谢谢你

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64735250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档