如何解决进度栏如何使用flutter提供程序侦听值更改并更新另一个小部件?
**这是我的提供商**
MultiProvider(
child: MyApp(),providers: [
ChangeNotifierProvider(create: (BuildContext context)=> Downloads(),),)]
***当我打印出_progress时,此类实现了notifylistner,所有这些都可以正常工作 但ui 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);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。