【发布时间】:2019-10-19 01:33:14
【问题描述】:
我有一个导航Drawer,其中的条目如下所示:
ListTile(
onTap: () => doRoute(context, '/second'),
title: Text(...),
),
而doRoute的方法如下:
String _currentRoute = '/';
void doRoute(BuildContext context, String routename) {
if (_currentRoute != routename) {
Navigator.of(context).popAndPushNamed(routename);
_currentRoute = routename;
}
else
Navigator.of(context).pop();
}
我这样做是因为我不想打开同一个页面两次。假设我在抽屉里点击Settings。如果我再次打开抽屉并点击Settings 我不希望抽屉再次打开设置因为我已经在那里了!
我该怎么做?为什么字符串比较不起作用?
【问题讨论】:
-
您是否尝试过同时打印
_currentRoute和routeName? -
是的,但我不明白该怎么做
-
你能分享一下结果吗?您在“设置”页面上时的值是什么?
-
您是否将相同的抽屉添加到
second路由?
标签: flutter dart flutter-layout