У меня есть классы Home (), Category (), Region ()
Чтобы добавить категорию, я перехожу к Category (), а чтобы добавить регион, я перехожу к Region ()
Я хочу передать значения cat внутри категории и значение города внутри региона на главный экран, но я получаю эту ошибку:
Compiler message:
lib/Screens/regions.dart:32:95: Error: Too few positional arguments: 2 required, 1 given.
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context)=>Home(city)));
Вот главный экран:
class Home extends StatefulWidget {
final String sRegion;
final String sCategory;
Home(this.sRegion,this.sCategory, {Key key}):super(key: key);
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
Widget build(BuildContext context) {
return Directionality(
textDirection: TextDirection.rtl,
child: Scaffold(
body: Center(
child: Text(cat + city),
),
),
);
}
}
Экран категории:
class Category extends StatefulWidget {
@override
_CategoryState createState() => _CategoryState();
}
class _CategoryState extends State<Category> {
@override
Widget build(BuildContext context) {
String cat = 'General';
return Directionality(
textDirection: TextDirection.rtl,
child: Scaffold(
body: Center(
child: FlatButton( onPressed: (){
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context)=>Home(cat)));
},),
),
),
);
}
}
Экран области:
class Region extends StatefulWidget {
@override
_RegionState createState() => _RegionState();
}
class _RegionState extends State<Region> {
@override
Widget build(BuildContext context) {
String city = 'London';
return Directionality(
textDirection: TextDirection.rtl,
child: Scaffold(
body: Center(
child: FlatButton( onPressed: (){
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context)=>Home(city)));
},),
),
),
);
}
}