Итак, я делал случайное учебное приложение, и у меня была идея использовать snackBar при изменении состояния приложения. Но я всегда получаю исключение: «Scaffold.of () вызывается с контекстом, который не содержит Scaffold».
class _HomeState extends State<Home> {
String _instrument;
var _bal = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
children: <Widget>[
Expanded(
child: Text("Make Money"),
),
Expanded(
child: Text("Account Ballence : \n\$$_bal"),
),
Expanded(
child: Center(
child: RaisedButton(
child: Text("Gamble"),
onPressed: _gamble,
)
)
)
],
),
));
}
void _gamble() {
Random rnd = new Random();
setState(() {
_bal += rnd.nextInt(10000 - 0) - 4000;
});
Scaffold.of(context).showSnackBar(SnackBar(content: Text("Money Updated"),));
}
}
Проблема, похоже, в функции _gamble. Есть ли альтернативный способ сделать это? Я попытался использовать Builder и вернуть RaisedButton, но это было то же исключение.