Flutter 导航器获取了错误的上下文
我有一个颤振应用程序,它显示一个摄像头,然后使用git://github.com/arashbi/flutter_qrcode_reader 在回拨时,我想导航到另一个屏幕,显示我从某个查询中获得的信息。问题是,似乎Navigator获取了错误的上下文,因此我将第二个页面作为小部件推到第一个页面中,而不是整个页面导航 第一页的构建如下所示:Flutter 导航器获取了错误的上下文,flutter,Flutter,我有一个颤振应用程序,它显示一个摄像头,然后使用git://github.com/arashbi/flutter_qrcode_reader 在回拨时,我想导航到另一个屏幕,显示我从某个查询中获得的信息。问题是,似乎Navigator获取了错误的上下文,因此我将第二个页面作为小部件推到第一个页面中,而不是整个页面导航 第一页的构建如下所示: @override Widget build(BuildContext context) { Widget main = new Sca
@override
Widget build(BuildContext context) {
Widget main =
new Scaffold(
appBar: _buildAppBar(),
body: Column(
children: <Widget>[
_eventButton ?? new Text(""),
new Center(
child: new Text("Hi"))
],
),
floatingActionButton: new FloatingActionButton(
onPressed:
() {
new QRCodeReader()
.setAutoFocusIntervalInMs(200)
.setForceAutoFocus(true)
.setTorchEnabled(true)
.setHandlePermissions(true)
.setExecuteAfterPermissionGranted(true)
.scan().then((barcode) => _showTicketPage(barcode));
}
,
child: new Icon(Icons.check),
),
);
if (!_loading) {
return main;
} else {
return new Stack(
children: [main,
new Container(
decoration: new BoxDecoration(
color: Color.fromRGBO(220, 220, 220,
0.3) // Specifies the background color and the opacity
),
child: new Center(child: new CircularProgressIndicator(),))
]
);
}
}
获取条形码后,第二个屏幕-TicketScreen-被推到“Hi”窗口小部件下。我甚至不知道这是可能的
我试图获取屏幕的上下文,将其保存到一个字段变量,但这也没有帮助
我怎样才能修好它?我已经没有主意了。第一句话似乎缺少了一些“我有一个显示摄像头的摄像头”我真的看不出你在showTicketPage中使用的上下文是从哪里来的,但我认为上下文应该已经包含了脚手架。如果你把身体里的所有东西都放在一个单独的小部件里,也许它会解决这个问题?对于flutter,我喜欢让我的小部件保持小型,并且有一个单一的用途。内部小部件将通过这种方式获得正确的上下文,但实际上并不是这样。我试过了。调试时,上下文属于页面,但这是第一个上下文。我不知道建设者的内容是从哪里来的。我还尝试了不同的插件在一个不同的非常简单的设置,没有workContext已经在状态classI做了完全相同的问题。。。你有没有找到解决办法?
void _showTicketPage(var barcode) {
Navigator.push(context, MaterialPageRoute(
builder: (BuildContext context) => TicketScreen(barcode)));
}