Я пытаюсь передать значение sRegions из класса Regions в класс AddAd и передать значение sCategory из класса Categories в класс AddAd
, но когда я щелкаю и передаю это значение, оно сбрасывает другое значение до начального
Я хочу, чтобы значения внутри класса AddAd были разделены и не влияли друг на друга
Вот класс AddAd ():
class AddAd extends StatefulWidget {
final String sRegion;
final String sCategory;
AddAd(this.sRegion,this.sCategory, {Key key}):super(key: key);
@override
_AddAdState createState() => _AddAdState();
}
ListTile(
title: Text("Location"),
subtitle: widget.sRegion == null ? Text("Where exactly") : Text(widget.sRegion),
),
ListTile(
title: Text("Category"),
subtitle: widget.sCategory == null ? Text("Department") : Text(widget.sCategory),
),
и вот как я передаю данные из класса Regions:
child: Text(item),
onPressed: () {
sRegion = item;
Navigator.push(context, new MaterialPageRoute(builder: (context) => AddAd(sRegion, sCategory)));
print(sRegion);
},
и вот как я передаю данные из класса Categories:
class _RegionsState extends State<Regions> {
String sRegion;
String sCategory;
@override
Widget build(BuildContext context) {
return Directionality(
textDirection: TextDirection.rtl,
child: Scaffold(
appBar: AppBar(
title: Text("Location"),
actions: <Widget>[
FlatButton(
child: Text('Cancel', style: TextStyle(color: Colors.white),),
onPressed: (){
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context)=>AddAd(sRegion, sCategory)));
},
)
],
),
body: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.only(top:15.0),
child: Container(
child: Column(
children: <Widget>[
for(var item in regions) FlatButton(
child: Text(item), onPressed: (){
sRegion = item;
Navigator.push(context, new MaterialPageRoute(builder: (context) => AddAd(sRegion, sCategory)));
print(sRegion);
},),
Divider(),
],
),
),
),
),
),
);
}
}