Get Current Route Name With onGenerateRoute

402 views
Skip to first unread message

You Sour

unread,
Feb 14, 2021, 3:14:36 AM2/14/21
to Flutter Development (flutter-dev)
hi , i have some problem ,  i don't know how to get the current route name with onGenerateRoute , any idea , thank in advance :)

Suzuki Tomohiro

unread,
Feb 14, 2021, 9:08:20 AM2/14/21
to Flutter Development (flutter-dev)
Would you share the URL of onGenerateRoute's documentation?

On Sun, Feb 14, 2021 at 03:14 You Sour <hengy...@gmail.com> wrote:
hi , i have some problem ,  i don't know how to get the current route name with onGenerateRoute , any idea , thank in advance :)

--
You received this message because you are subscribed to the Google Groups "Flutter Development (flutter-dev)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/flutter-dev/997e2a13-75b5-4465-9980-027718c96e3an%40googlegroups.com.

You Sour

unread,
Feb 14, 2021, 11:32:33 AM2/14/21
to Flutter Development (flutter-dev)
here my RouteGenerator class look like :

class RouteGenerator {
static Route<dynamic> generateRoute(RouteSettings settings) {
switch (settings.name) {
case '/app':
return MaterialPageRoute(builder: (_) => App());
break;
case '/landing':
return MaterialPageRoute(builder: (_) => Landing());
break;
case '/login':
return MaterialPageRoute(builder: (_) => Login());
break;
case '/dashboard':
return MaterialPageRoute(builder: (_) => Dashboard());
break;
case '/profile':
return MaterialPageRoute(builder: (_) => Profile());
break;
case '/setting':
return MaterialPageRoute(builder: (_) => Setting());
break;
default:
return _errorRoute();
break;
}
}

static Route<dynamic> _errorRoute() {
return MaterialPageRoute(builder: (_) {
return Scaffold(
appBar: AppBar(title: Text('Error')),
body: Center(child: Text('Error')),
);
});
}

here how i implement my RouteGenerator to onGenerateRoute look like : 

import 'route_generator.dart';

return MaterialApp(
debugShowCheckedModeBanner: false,
home: Container(child:Text('hi)),
onGenerateRoute: RouteGenerator.generateRoute,
);

Suzuki Tomohiro

unread,
Feb 14, 2021, 11:59:17 AM2/14/21
to You Sour, Flutter Development (flutter-dev)
It seems that you want to know the name of “the last route you called”.
How about saving the value of “settings.name” into a (global) variable?

You Sour

unread,
Feb 14, 2021, 8:14:57 PM2/14/21
to Flutter Development (flutter-dev)
ok , i have an idea now , thank you  so much :) 
Reply all
Reply to author
Forward
0 new messages