So I was trying to navigate from one screen to another, using Navigator.push (not using NamedRoutes). But suddenly I am getting this error of Undefined name 'context'. I want to navigate from the 'loading_screen.dart' to 'context_screen.dart'. I am not understanding why I am facing this error.
loading_screen.dart
class LoadingScreen extends StatefulWidget {
String searchTerm;
LoadingScreen({this.searchTerm});
@override
_LoadingScreenState createState() => _LoadingScreenState();
}
class _LoadingScreenState extends State<LoadingScreen> {
@override
void initState() {
print("On Loading Screen");
String searchTerm = widget.searchTerm;
getMeaning(searchTerm);
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: SpinKitWave(
color: kMainBlueColor,
size: 70.0,
),
),
);
}
}
void getMeaning(String searchTerm) async {
print(searchTerm);
// TODO: get the meaning of the search term.
// TODO: Test without net and see background loading
var searchContext;
// var searchContext = await .....
Navigator.push(context, MaterialPageRoute(builder: (context) {
return ContextScreen(searchContext: searchContext);
}));
}
context_screen.dart
class ContextScreen extends StatefulWidget {
final searchContext;
ContextScreen({this.searchContext});
@override
_ContextScreenState createState() => _ContextScreenState();
}
class _ContextScreenState extends State<ContextScreen> {
@override
Widget build(BuildContext context) {
var searchContext = widget.searchContext;
return Scaffold(
body: SafeArea(
child: Column(
children: <Widget>[
Align(
alignment: Alignment.topLeft,
child: FlatButton(
onPressed: () {
int count = 0;
Navigator.of(context).popUntil((context) => count++ >= 2);
},
child: Icon(
Icons.arrow_back_ios,
color: kMainBlueColor,
size: 50.0,
),
),
),
Center(
child: Text(
searchContext
),
)
],
),
)
);
}
}
I have neglected the import statements above, but I have added them in my code. Any help would be appreciated. Thanks in advance.
