Flutter中的路线正在创造新的' “状态小组”的瞬间'他们正在打电话(除非我误解了)
我有2个问题(可能有一个答案):
我怎样才能找到我来自的确切时刻,
并且,如果我不想再回到StateWidget
,我怎么能关闭exit(0)
的瞬间,我尝试了super.dispose()
但它完全关闭了应用程序,并在我尝试时崩溃{{1} }}
我使用了以下代码:
@override
Widget build(BuildContext context) {
return new MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.deepOrange,
),
home: new HomePage(title: 'Flutter Demo Home Page'),
routes: <String, WidgetBuilder> {
'/home': (BuildContext context) => new HomePage(title: 'Flutter Demo Home Page'),
'/content': (BuildContext context) => new ContentPage(title: 'Content')
},
);
}
并在以下路线之间切换:
new FlatButton(
child: new Text(
"Back to home",
style: Theme.of(context).textTheme.display1,
),
textColor: new Color(0xFF66BB6A),
onPressed: () {
Navigator.of(context).pushNamed('/home');
// exit(0); // this closed the app completly
// super.dispose(); // the app crashed
},
),
更新
当我尝试Navigator.of(context).pop
和其他人时,应用程序挂起如图所示:
更新
一旦我尝试使用pushReplacementNamed
,上面的行为就得到了修复,但在2个州之间切换,但没有保持州状态,而是创建了新的状态!
答案 0 :(得分:0)
您正在寻找的是Navigator.of(context).pop
及其变体,例如pushReplacement
和pushReplacementNamed
。其中包含push
/ pushNamed
和pop
。