我从一个屏幕移动到另一个屏幕,但它显示了路由方面的错误。我的第一个屏幕名为VenueOption,第二个屏幕是PlayerOption
这是场地选项课
class VenueOption extends StatelessWidget {
final String userType;
const VenueOption({Key key, @required this.userType}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: ProfileBoard(
userType: userType,
),
);
/*return MaterialApp(
debugShowCheckedModeBanner: false,
home:Scaffold(
body: ProfileBoard(
userType: userType,
),)
);*/
}
}在ProfileBoard中有一个按钮,这个类是状态类,并通过这个方法导航到'PlayerOption‘。
void pushToDashboard(BuildContext context) {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => PlayerOption()),
);
// Navigator.push(context, MaterialPageRoute(builder: (context) => VenuProfile(userType: userType,)),);
}PlayerOption类
class PlayerOption extends StatefulWidget {
@override
_PlayerOptionState createState() => _PlayerOptionState();
}
class _PlayerOptionState extends State<PlayerOption> {
@override
Widget build(BuildContext context) {
return Scaffold(
resizeToAvoidBottomInset:false,
body: PlayerOptionHome(),
);
/* return MaterialApp(
debugShowCheckedModeBanner: false,
home:Scaffold(
resizeToAvoidBottomInset:false,
body: PlayerOptionHome(),
)
);*/
}
}引发以下NoSuchMethodError > _OverlayEntry-OverlayEntryState>#be2a0:调用getter 'status‘on > null。接收方: null尝试调用:当异常>引发时的状态,这是堆栈:> #0 (package:flutter/src/widgets/routes.dart:1239:27) (dart:core-修补程序/object_patch.dart:50:5)> #1 ModalRoute._buildModalBarrier Object.noSuchMethod > #2 _OverlayEntryState.build Object.noSuchMethod> #3 StatefulElement.build (package:flutter/src/widgets/framework.dart:3825:27) > #4 ComponentElement.performRebuild (包:ModalRoute._buildModalBarrier)/src/widget/framework.dart work.dart:3739:15)> #5 Element.rebuild (package:flutter/src/widgets/framework.dart:3722:5) > #6 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5)> #7 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) 另一个异常被抛出: NoSuchMethodError:在null上调用getter 'status‘。
我用'VenueOptiontoPlayerOptionbut when I tried to call another screen fromPlayerOptiontoPlayerConnect制作了PlayerOption,现在屏幕从MaterialApp的显示错误中导航
另一个异常被抛出:>‘package:flutter/src/widget/Naviator.dart’:Failed断言: line > 1562 pos 12:'!_debugLocked':不是真。
class PlayerConnect extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: FeedView(),
);
}
}发布于 2019-07-15 06:16:00
尝尝这个
class VenueOption extends StatelessWidget {
final String userType;
BuildContext ctx;
const VenueOption({Key key, @required this.userType}) : super(key: key);
@override
Widget build(BuildContext context) {
ctx = context;
return Scaffold(
body: ProfileBoard(
userType: userType,
),
);
}
void pushToDashboard() {
Navigator.of(ctx).push(MaterialPageRoute(
builder: (BuildContext context) => PlayerOption()));
}
}https://stackoverflow.com/questions/57033841
复制相似问题