返回StateWidget的确切状态

时间:2018-03-02 12:09:22

标签: dart flutter

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和其他人时,应用程序挂起如图所示:

enter image description here

更新

一旦我尝试使用pushReplacementNamed,上面的行为就得到了修复,但在2个州之间切换,但没有保持州状态,而是创建了新的状态!

1 个答案:

答案 0 :(得分:0)

您正在寻找的是Navigator.of(context).pop及其变体,例如pushReplacementpushReplacementNamed。其中包含push / pushNamedpop