Datetime 对null调用了方法()。[颤振]

Datetime 对null调用了方法()。[颤振],datetime,flutter,Datetime,Flutter,在这个应用程序中,用户可以添加任务,我想让用户选择用户希望保存任务的日期(稍后;一周后,几天后,等等)。任务显示在pageView.builder中,它根据日期显示每个页面(例如:initial page:DateTime.now())。设置日期后,用户应该能够跳转到他们在showDatePicker中选择的特定日期,并在所选页面中显示添加的任务(也将根据showDatePicker中选择的日期进行设置)。控制器\u daysPageController.jumpToDay是允许用户跳转到所需页

在这个应用程序中,用户可以添加任务,我想让用户选择用户希望保存任务的日期(稍后;一周后,几天后,等等)。任务显示在
pageView.builder
中,它根据日期显示每个页面(例如:
initial page:DateTime.now()
)。设置日期后,用户应该能够跳转到他们在
showDatePicker
中选择的特定日期,并在所选页面中显示添加的任务(也将根据
showDatePicker
中选择的日期进行设置)。控制器
\u daysPageController.jumpToDay
是允许用户跳转到所需页面的控制器

用户选择的日期以
DateTime
格式返回此行:

DateTime selecteddate = DateTime.now();
  Future<Null> _selectDate() async {
    final DateTime picked = await showDatePicker(
        context: context,
        initialDate: selecteddate,
        firstDate: DateTime(2015, 8),
        lastDate: DateTime(2101));
    if (picked != null && picked != selecteddate)
      setState(() {
        selecteddate = picked;
      });
    _daysPageController.jumpToDay(selecteddate);
  }
DateTime selecteddate=DateTime.now();
Future\u selectDate()异步{
选择的最终日期时间=等待showDatePicker(
上下文:上下文,
初始日期:selecteddate,
firstDate:DateTime(2015年8月),
lastDate:DateTime(2101));
如果(已拾取!=null&&picked!=selecteddate)
设置状态(){
selecteddate=已拾取;
});
_daysPageController.jumpToDay(选择日期);
}
DateTime
selecteddate
成功返回用户选择的日期,但当我在
\u daysPageController
中传递该日期时,我得到了错误;
对null调用了方法“jumpToDay”。

关于如何传递
selecteddate
以使
\u daysPageController.jumpToDay()
仅在设置
selecteddate
后执行,我可以得到建议吗

我已使用此存储库实现了
pageView.builder


这还包含跳转到特定页面的
PageController

您可以从DateTime对象获取日期

  DateTime selecteddate = DateTime.now();
  Future<void> _selectDate() async {
    final DateTime picked = await showDatePicker(
        context: context,
        initialDate: selecteddate,
        firstDate: DateTime(2015, 8),
        lastDate: DateTime(2101));
    if (picked != null && picked != selecteddate){
      setState(() {
        selecteddate = picked;
      });
      if(_daysPageController != null){
        _daysPageController.jumpToDay(selecteddate);
      }
    }
  }
DateTime selecteddate=DateTime.now();
Future\u selectDate()异步{
选择的最终日期时间=等待showDatePicker(
上下文:上下文,
初始日期:selecteddate,
firstDate:DateTime(2015年8月),
lastDate:DateTime(2101));
如果(已拾取!=null&&picked!=selecteddate){
设置状态(){
selecteddate=已拾取;
});
如果(_daysPageController!=null){
_daysPageController.jumpToDay(选择日期);
}
}
}

我猜您得到了_daysPageController的错误。请共享您的完整代码。很遗憾,我没有权限共享整个代码。你能不能给我一个建议,告诉我如何在
showDatepicker
中返回所选日期?一旦我有了返回类型,我就应该能够从那里解决它:)可能是你的_daysPageController为空答案已在这里提供:问题已在这里回答: