В моем приложении у меня есть одна страница, которая является игроком c musi c, я использую другой класс с именем Player почти для всех переменных и методов, поэтому что моя главная страница приложения чистая, проблема в том, что для некоторых из моих функций я делаю setState для изменения значка кнопки, и я не знаю, как поместить его в свой класс Игрок . Итак, вот функции в моем классе «MyHomePageState»:
IconData iconPlayPause = Icons.play_arrow;
int nbCalls = -1;
void _play() {
setState(() {
iconPlayPause = PlayerUtils.hubIcon(++nbCalls); //THE SETSTATE
});
Player.buttons[Player.play] = Player.getPlayButton(iconPlayPause, _play);
PlayerUtils.playActions(nbCalls);
}
void _next() {
//DO SOMETHING
_play();
}
void _previous() {
//DO SOMETHING
_play();
}
//Widget build(BuildContext context) => Scaffold(my application home page) ...
Как видите, проблема в том, что я просто хочу изменить iconPlayPause , который является значком одного из моих кнопки, но мне нужно установить состояние так, чтобы оно также меняло значок кнопки, а также потому, что _next и _previous функции вызывают _play , я не знать, как поместить их в другой класс (и даже _play ), не испортив все.
Я видел, что все говорят об использовании функций "обратного вызова", но это не совсем моя проблема, потому что Мне на самом деле не нужны данные другой страницы StatefulWidget и всего этого, просто меняют значение и обновляют его в моем приложении.