Как я могу поместить эти функции (с setState) в другой класс? - PullRequest
0 голосов
/ 02 мая 2020

В моем приложении у меня есть одна страница, которая является игроком 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 и всего этого, просто меняют значение и обновляют его в моем приложении.

...