Java 颤振如何从一页自动导航到另一页

Java 颤振如何从一页自动导航到另一页,java,android,ios,flutter,dart,Java,Android,Ios,Flutter,Dart,我正在编写一个颤振应用程序,我想在达到某个条件时,在没有任何用户交互的情况下更改页面 当a=2时,我希望导航是正确的 int a=0; HeadsetEvent headsetPlugin = new HeadsetEvent(); HeadsetState headsetEvent; @override void initState() { super.initState(); /// if headset is plugged headset

我正在编写一个颤振应用程序,我想在达到某个条件时,在没有任何用户交互的情况下更改页面 当
a=2时,我希望导航是正确的

  int a=0;

  HeadsetEvent headsetPlugin = new HeadsetEvent();
  HeadsetState headsetEvent;

  @override
  void initState() {
    super.initState();

    /// if headset is plugged
    headsetPlugin.getCurrentState.then((_val){
      setState(() {
        headsetEvent = _val;
        a=1;
      });
    });

    /// Detect the moment headset is plugged or unplugged
    headsetPlugin.setListener((_val) {
      setState(() {
        headsetEvent = _val;
        a=2;
      });
    });
  }



  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text("auto navigation"),
        ),
        body: Center(
          child: Text(a.toString()),
        ),
      ),
    );
  }
}

这是一个带有变量a的代码a每次取一个值a=2时我想要导航谢谢编辑:

headsetPlugin.setListener((_val) {
  setState(() {
    headsetEvent = _val;
  });
Navigator.push(
        context,
        MaterialPageRoute(builder: (context) => SecondRoute()),
      );
});

@MohamedBorheneDhahri发布了一些代码,我可以帮助你。谢谢你,它可以工作,但是如果我们可以测试一个小部件的状态,比如一个小部件的颜色,我还需要另一件事container@MohamedBorheneDhahri写一篇新的有组织的文章,详细说明你是如何处理这个问题的,以及那些不适合你的代码,这就是stackoverflow的工作原理。我在这个链接中添加了一个新问题