Я реализовал showModalBottomSheet, который вызывает виджет с отслеживанием состояния. Я хотел бы, чтобы виджет с отслеживанием состояния мог получать данные из вызова showModalBottomSheet и изменять их.
Ниже приведен мой родительский класс, вызывающий функцию showModalBottomSheet:
class _parentClass extends StatelessWidget {
bool testing = false; //This is the variable that I am trying to change.
@override
Widget build(BuildContext context) {
void _callModalBottomSheet() {
showModalBottomSheet(
context: context,
builder: (BuildContext bc) {
return Wrap(
children: <Widget>[
Container(
child: myStatefulWidget(testingValue: testing),
),
]);
});
print("Testing Value: $testing");
}
return Column(
children: <Widget>[
FlatButton(
child: Text("my button"),
onPressed: _callModalBottomSheet,
),
],
);
}
}
'myStatefulWidget' на самом деле является еще одним классом, реализованным в совершенно новом файле, поэтому единственный способ получить доступ к переменной 'testing' - через ее конструктор (по крайней мере, единственный способ, который я знаю).
Я пробовал это, но выдает ошибку:
class myStatefulWidget extends StatefulWidget {
final testingValue;
myStatefulWidget({
this.testingValue,
});
//testingValue = !testingValue; //This line throws an error!
@override
myStatefulWidgetState createState() => myStatefulWidgetState();
}
//...
Большое спасибо за вашу помощь!