好吧,我们有布顿,每次他被推的时候,他都会减少var_gracze,如果_gracze<=0我想让他从控制器那里获取价值
格拉茨康
而不是
_格拉茨
.我不知道如何从控制器中获取价值并将其放入
_格拉茨
(SecGamePage和FirGamePage是一回事)。请帮忙:c
class ZmienneClass extends ChangeNotifier {
var _gracze;
var _rundy;
int get iloscGraczy {
return _gracze;
}
void decrementCounter(int number) {
_gracze -= 1;
if (_gracze <= 1) {
_gracze = liczbagraczy;
}
}
}
}
class _InfoPageState extends State<InfoPage> {[![InfoPage, graczeCon][1]][1]
TextEditingController graczeCon = TextEditingController();
TextEditingController rundyCon = TextEditingController();
int liczbagraczy = 10; //here should be value from graczeCon
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [ChangeNotifierProvider.value(value: ZmienneClass())],
child: Scaffold(
backgroundColor: const Color.fromARGB(255, 84, 84, 84),
appBar: AppBar(
toolbarHeight: 70,]))
body: Stack(children: [
Column(
children: [
Center(
child: SizedBox(
child: TextFormField(
onChanged: (gracze) {},
controller: graczeCon,
)))])
Align(
child: TextButton(
onPressed: () {
Provider.of<ZmienneClass>(context, listen: false)
.setPlayerCount(
liczbagraczy: int.parse(graczeCon.text));
Navigator.push(context,
MaterialPageRoute(builder: (context) => FirGamePage()));
})];
}
}
class _FirGamePageState extends State<FirGamePage> {
@override
Widget build(BuildContext context) {
var _gracze = Provider.of<ZmienneClass>(context).iloscGraczy;
return Scaffold(...
Align(
alignment: Alignment.topLeft,
child: Text("Osoby: $_gracze",
)))
}