【发布时间】:2021-02-16 14:23:39
【问题描述】:
我是 Flutter 和 java 脚本的新手。所以我的经验很少。我想写一个小应用程序。我制作了 2 页,其中在 api 上提取了封条列表和对象列表。但我希望能够通过侧边菜单浏览这些页面。我创建了这个菜单。但我无法从此菜单转到另一页。这是我的应用程序(主要)。我会很感激你的帮助。
import 'package:flutter/material.dart';
import 'package:flutter_app_seals/model/object_list/JsonObject.dart';
import 'package:flutter_app_seals/model/seals_list/JsonSeals.dart';
void main() {
runApp(Mains());
}
class Mains extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
centerTitle: true,
title: Text('Seals Log'),
),
drawer: Drawer(
child: ListView(
children: <Widget>[
ListTile(
title: Text("Seals List"),
trailing: Icon(Icons.arrow_back),
onTap:() {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => Seals()),
);
}
),
ListTile(
title: Text("Object List"),
trailing: Icon(Icons.arrow_downward),
onTap:() {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => Object()),
);
}
)
],
),
),
)
);
}
}
class Seals extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home:JsonParseSeals(),
);
}
}
class Object extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home:JsonParseObject()
);
}
}
======== Exception caught by gesture ===============================================================
The following assertion was thrown while handling a gesture:
Navigator operation requested with a context that does not include a Navigator.
The context used to push or pop routes from the Navigator must be that of a widget that is a descendant of a Navigator widget.
When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 231:49 throw_
packages/flutter/src/widgets/navigator.dart 2690:9 <fn>
packages/flutter/src/widgets/navigator.dart 2696:14 of
packages/flutter/src/widgets/navigator.dart 2095:34 push
packages/flutter_app_seals/main.dart 41:39 <fn>
...
Handler: "onTap"
Recognizer: TapGestureRecognizer#d2f91
debugOwner: GestureDetector
state: ready
won arena
finalPosition: Offset(63.0, 65.0)
finalLocalPosition: Offset(63.0, 17.0)
button: 1
sent tap down
====================================================================================================
【问题讨论】: