【发布时间】:2020-04-07 07:37:40
【问题描述】:
我的仪表板页面中有一个导航抽屉。当我单击每个项目时,抽屉上的 listTiles 很少,它会打开一个新页面。当我打开几个页面时,当我单击后退按钮时,应用程序会关闭完全。我想查看之前打开的页面,然后在堆栈中找到最后一页时关闭应用程序。
final drawerItems = [
new DrawerItem("Home", Icons.home),
new DrawerItem("Profile", Icons.person),
new DrawerItem("Change Password", Icons.lock),
new DrawerItem("Link CCID", Icons.calendar_view_day),
new DrawerItem("Settings", Icons.settings),
new DrawerItem("Allergies", Icons.opacity),
new DrawerItem("Logout", Icons.power_settings_new),
];
_getDrawerItemScreen(int pos) {
debugPrint("Position $pos");
if(pos==0)
{
setState(() {
title="Home";
});
return new Home(drawerItem: drawerItems[_selectedIndex]);
}
else if(pos==1)
{
setState(() {
title="My Profile";
});
return new ProfilePage(drawerItem: drawerItems[_selectedIndex],title: "My Profile",);
}
else if(pos==2)
{
setState(() {
title="Change Password";
});
return new ChangePassword(drawerItem: drawerItems[_selectedIndex],title: "Change Password",);
}
else if(pos==3)
{
setState(() {
title="LinkCCid";
});
return new LinkCcid(drawerItem: drawerItems[_selectedIndex],title: "LinkCCid",);
}
else if(pos==4)
{
setState(() {
title="Settings";
});
// Navigator.push(context, MaterialPageRoute(builder: (context) =>Settings(drawerItem: drawerItems[_selectedIndex],title: "Settings",)));
return new Settings(drawerItem: drawerItems[_selectedIndex],title: "Settings",);
}
else if(pos==5)
{
setState(() {
title="Allergies";
});
return new Allergies(drawerItem: drawerItems[_selectedIndex],title: "Allergies",);
}
else if(pos==6)
{
_logout();
}
}
_onSelectItem(int index) {
setState(() {
_selectedIndex = index;
_getDrawerItemScreen(_selectedIndex);
});
Navigator.of(context).pop(); // close the drawer
}
【问题讨论】:
标签: flutter