позвольте мне дать очень простой подход, который я использую всякий раз, когда я хочу изменить состояние другого класса / виджета:
определить глобальную переменную, а затем использовать эту переменную в классе State
виджета, который выхочу поменять позже.Затем вы можете изменить значение этой переменной из любого метода внутри вашего кода, и состояние вашего первого класса изменится автоматически без какого-либо прямого вызова метода класса setState()
.
вот пример:
int counter = 0 ;
class _AppState extends State<App> {
var numberOfItems = counter ;
return new MaterialApp(
title: 'Ads App',
home: new Text(counter),
);
}
если вы измените значение счетчика из своего кода, содержимое виджета Text
изменится автоматически.