как индикатор выполнения может прослушивать изменения значений с помощью поставщика flutter и обновлять другой виджет?

#android #flutter #dart #progress-bar #provider

#Android #flutter #dart #индикатор выполнения #поставщик

Вопрос:

** это мой поставщик **

 MultiProvider(
   child: MyApp(),
   providers: [

  
  ChangeNotifierProvider(create: (BuildContext context)=> Downloads(),),)]
  

*** этот класс реализует notifylistner, когда я распечатываю _progress, все работает правильно
но пользовательский интерфейс wiget не перезаписывается для выдачи выходных данных ***

 class Downloads extends ChangeNotifier {


  int _progress= 0;

  int get progress => _progress;

  void setProgress(int p) {
    _progress = p;
    
    notifyListeners();
  }
}
  

я удалил виджет индикатора выполнения, чтобы упростить его отображение выходного значения

 class FileDownload extends StatelessWidget {
  const FileDownload({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(body: progessUi());
  }
}


class progessUi extends StatelessWidget {
  const progessUi({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final model = Provider.of<Downloads>(context);
    

    return Container(child: Text(model.progress.toString()));
  }
}
  

* это всего лишь фрагмент, в котором выполняются вызовы функции загрузки *

 if (message['event'] == EV_PROGRESS) {
        
        Downloads().setProgress(message['progress']);

        
       
      }
      if (message['event'] == EV_DONE) {
        
        
        Downloads().setProgress(100);
        
       
      }