Flutter 修正错误:如何解决返回类型';StreamController<;康涅狄格州>';isn';t a';流';,由匿名闭包错误定义

Flutter 修正错误:如何解决返回类型';StreamController<;康涅狄格州>';isn';t a';流';,由匿名闭包错误定义,flutter,status,mobile-application,connectivity,Flutter,Status,Mobile Application,Connectivity,我遵循以下教程了解基于internet连接的连接状态 链接: 现在的问题是,然后我尝试实现代码。在使用StreamProvider的过程结束时,在builder中,我得到以下错误: 错误:返回类型“StreamController”不是匿名闭包定义的“Stream” 代码如下: 主飞镖 @override Widget build(BuildContext context) { return StreamProvider( builder: (context)

我遵循以下教程了解基于internet连接的连接状态

链接:

现在的问题是,然后我尝试实现代码。在使用StreamProvider的过程结束时,在builder中,我得到以下错误:

错误:返回类型“StreamController”不是匿名闭包定义的“Stream”

代码如下: 主飞镖

@override
  Widget build(BuildContext context) {
      return StreamProvider(
        builder:  (context) => ConnectivityService().connectionStatusController, // ERROR LINE
        child: ChangeNotifierProvider<ThemeChanger>(
          builder: (_) => ThemeChanger((x) ? ThemeChanger.customDarkTheme : ThemeChanger.customLightTheme),
          child: new MaterialAppWithTheme(),
        ),
      );
  }
}

@覆盖
小部件构建(构建上下文){
返回流提供程序(
生成器:(上下文)=>ConnectionVityService().connectionStatusController,//错误行
子项:ChangeNotifierProvider(
生成器:()=>ThemeChanger((x)?ThemeChanger.customdark主题:ThemeChanger.customlight主题),
孩子:新材料应用主题(),
),
);
}
}
将我的类型代码完全替换为作者的git代码,链接如下:

我试过谷歌搜索,但对我的案子没用。我的代码出了什么问题?是因为我正在使用其他提供商吗


通过自我发现将答案更新为解决方案


@覆盖
小部件构建(构建上下文){
返回流提供程序(
builder:(context)=>ConnectivityService().connectionStatusController.stream,//在末尾添加.stream
子项:ChangeNotifierProvider(
生成器:()=>ThemeChanger((x)?ThemeChanger.customdark主题:ThemeChanger.customlight主题),
孩子:新材料应用主题(),
),
);
}
}
我认为他们是从教程发布时起对软件包的更新,所以当我阅读大量文章时,我选择了一个关键字stream Controller,在它上面做了RND,然后转到流提供程序,在这上面做了更多的RND,在其他教程中看到了sink和Stream,但由于本教程的缘故,我在代码和效率方面走在了前面。我只是在结尾加了一个句号,瞧!问题解决了


我希望人们能够找到这个解决方案,为他们的应用程序做好准备:)

FYI:在从3.x.0版迁移到4.0.0版的Provider包中,删除了Provider的
builder
initialBuilder
参数

之前:

StreamProvider( builder: (context) => ConnectivityService().connectionStatusController,
之后:

StreamProvider( create: (_) => ConnectivityService().connectionStatusController.stream,

多谢各位
StreamProvider( create: (_) => ConnectivityService().connectionStatusController.stream,