flutter - 小部件变量为空 flutter

标签 flutter

我有一个有状态的小部件

class Period extends StatefulWidget{
  final StreamController<List<dynamic>> notify = StreamController<List<dynamic>>();
  final int period;
  Period(List<dynamic> data, this.period){
    notify.sink.add(data);
    print("created new Period:");
    print(period);
  }

  void dispose() {
    notify.close();
  }
  @override
  _PeriodState createState() => _PeriodState();
}

class _PeriodState extends State<Period> {

  bool isNull = true;
  bool isListening = false;
  List<Widget> lessons;

  _PeriodState(){
    lessons = [(genTime())];
    widget.notify.stream.listen(update);
    isListening = true;
  }
}

但在 widget.notify.stream.listen(update); 行中,它捕获了异常“The getter 'notify' was called on null.” 为什么小部件为空?我打印出周期所属的列表,但所有周期都已正确初始化。

最佳答案

不要使用构造函数。而是使用 initState

class Foo extends State<Bar> {
  @override
  void initState() {
    // widget is not null here
  }
}

关于flutter - 小部件变量为空 flutter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55030980/

相关文章:

flutter - 解码base 64 [DART]

flutter - 如何解决异常:Gradle任务assembleDebug失败,退出代码为1

android - Flutter 中的 MVVM 设计模式

flutter - 导航时如何在抖动中修复黑屏?

flutter - 如何将数据从表单传递到下一个屏幕?

flutter - 错误: The default value of an optional parameter must be constant

firebase - 使用特定路径在 Firebase 托管上部署网站

image - 当键盘弹出时如何隐藏图像小部件?

flutter - 文本字段光标无法正常工作

flutter - flutter 中的图形网络可视化?