Тип VoidCallback
Тип VoidCallback записан как void Function().
Его принимают
addListener
и параметр onPressed у кнопок:
вызвали функцию, аргументов нет, результат не нужен.
Синтаксис
VoidCallback onPressed
Пример
Давайте увеличим счётчик функцией без аргументов:
import 'package:flutter/material.dart';
void main()
{
runApp(const Counter());
}
class Counter extends StatefulWidget
{
const Counter({super.key});
@override
State<Counter> createState() => _CounterState();
}
class _CounterState extends State<Counter>
{
var n = 0;
void bump()
{
setState(() {
n = n + 1;
});
}
@override
Widget build(BuildContext context)
{
return MaterialApp(
home: Scaffold(
body: Center(
child: TextButton(
onPressed: bump,
child: Text('$n'),
),
),
),
);
}
}
На экране 0. Каждое нажатие увеличивает число на 1. В onPressed передана функция bump.
Смотрите также
-
метод
addListener,
который подписывает такую функцию на изменения -
класс
ChangeNotifier,
который хранит список слушателей -
виджет
TextButton,
у которого onPressed имеет этот тип -
метод
setState,
который перерисовывает виджет после изменения