Flutter:提供者价值未更新

时间:2020-11-01 20:44:24

标签: flutter dart state-management

我是不熟悉Flutter / Dart的人,正在尝试获取一个值来更新我想制作的加载条。该值正在我创建的提供程序小部件中更新,但是当我尝试使用它时,我无法弄清缺少的内容。任何帮助将不胜感激。

class LoadingProvider extends ChangeNotifier{
  int _downloadPercentage = 0;
  int get downloadPercentage => _downloadPercentage;

  void getPercentage(int input) {
    _downloadPercentage = input;
    notifyListeners();
    print(downloadPercentage);
  }

}

这是我想显示的页面

class ContourScreen extends StatefulWidget {
  final Note note;
  ContourScreen(this.note);

  @override
  State<StatefulWidget> createState() => new _ContourScreenState();
}

class _ContourScreenState extends State<ContourScreen> with TickerProviderStateMixin{
  @override
  void initState() {
    super.initState();
  }

  @override
  dispose() {
    super.dispose();
  }


  @override
  Widget build(BuildContext context) {
  
   final loadingProvider = Provider.of<LoadingProvider>(context);
    return  Scaffold(
      backgroundColor: Colors.white,
      appBar: AppBar(),
        
      body: Scrollbar(
        child: SingleChildScrollView(
          child: Container(

            child: Padding(
              padding: const EdgeInsets.only(left: 20.0, right: 20.0),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                 
                  ChangeNotifierProvider<ValueNotifier<int>>(
                      create: (context) => ValueNotifier<int>(0),
                  child: Text('${loadingProvider.downloadPercentage}'),),
              

                ],
              ),
            ),
          ),
        ),
      ),
    );
  }
}

这是所有页面的git枢纽,以供参考https://github.com/mattcubs/loadinggif

0 个答案:

没有答案