使用抽屉后WillPopScope无法正常工作

时间:2019-10-24 17:57:26

标签: flutter dart

我正在使用我的flutter应用程序的抽屉。我先注册,然后重定向到首页。我在首页中使用了抽屉。我在抽屉上添加了一些菜单,然后重定向到一些新活动。我已经在首页中将WillPopScope添加到了tigged的android按下。但是问题是当我从其他活动中单击后退按钮但首页活动WillPopScope调用时。 这是主页

 return  WillPopScope(

  onWillPop: (){


    exit(0);

  },
  child: MaterialApp(
      home: Scaffold(
        drawer: StudentDrawer(
            number: widget.number,
          ),

        appBar: AppBar(
          actions: <Widget>[
            InkWell(
              child: new Icon(
                Icons.notifications,
                color: Colors.white,
              ),
              onTap: () {},
            ),
            InkWell(
              child: Icon(
                Icons.more_vert,
                color: Colors.white,
              ),
              onTap: () {
                _scaffoldKey.currentState.openDrawer();
              },
            ),
          ],
          title: Text(
            "Home",
            style: new TextStyle(
                color: Colors.white,
                letterSpacing: 1.0,
                fontSize: 20,
                fontStyle: FontStyle.normal),
          ),
        ),
        body: SingleChildScrollView(
          child: new Column(
            children: <Widget>[
              //top(),
              /*SizedBox(
                height: 7,
              ),*/
              bottom()
            ],
          ),
        ),
      ),
    ),
);

这是抽屉页面

return Drawer(
  child: Column(
    children: <Widget>[ header(), Expanded(child: list(context))],
  ),
);



  Widget list(BuildContext context) => new ListView(
scrollDirection: Axis.vertical,
shrinkWrap: true,
children: <Widget>[



  ListTile(
      onTap: (){

        Navigator.pop(context);

        Navigator.of(context).push(new MaterialPageRoute(builder: (context)=>Profile(number:widget.number)));
      },
      leading: new Icon(
        Icons.perm_identity,
        color: Colors.green,
      ),
      title: Text(
        "Profile",
        style: TextStyle(color: Colors.green),
      ),
    ),

这是我的个人资料活动

 return  WillPopScope(
  onWillPop:(){

    print(" It's not calling .....");

    Navigator.pop(context);
  }

  ,
  child: MaterialApp(
      home: Scaffold(


        appBar: AppBar(


          leading: InkWell(
              onTap: (){

                Navigator.pop(context);

              },
            child:Icon(Icons.arrow_back,color: Colors.white,),
          ),

          title: Text("Profile"),
        ),

基本上一切都很好,但是问题是,当我从个人资料活动中单击后退按钮时,它会调用Home活动的onWillPop。

0 个答案:

没有答案