在 null 上调用了方法“timeZone”。 (颤振)[重复]

Posted

技术标签:

【中文标题】在 null 上调用了方法“timeZone”。 (颤振)[重复]【英文标题】:The method 'timeZone' was called on null. (Flutter) [duplicate] 【发布时间】:2021-03-08 03:18:47 【问题描述】:

我正在尝试在 Flutter 本地通知中使用 zonedshedule。但异常返回为 null 'timeZone' 在 null 上被调用。

【问题讨论】:

【参考方案1】:

从 timezone 包从 pub dev 导入包

现在,将它们添加到您的 dart 文件中,以引用 tz:

import 'package:timezone/timezone.dart' as tz;
import 'package:timezone/data/latest.dart' as tz;

现在,初始化时区:

void main() 
  tz.initializeTimeZones();
  var locations = tz.timeZoneDatabase.locations;

现在,您可以为 zonedShedule 将 DateTime 转换为 TZDateTime:

DateTime time;
tz.TZDateTime selectedDate;

selectedDate =  tz.TZDateTime.from(time, tz.local);

【讨论】:

以上是关于在 null 上调用了方法“timeZone”。 (颤振)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 null 上调用了方法“[]”。接收者:null 尝试调用:[](0) !我在这里做错了啥? [复制]

Futtler 错误在 null 上调用了方法“toDouble”。接收方:null 尝试调用:toDouble() [重复]

在 null 上调用了方法“[]”

在 null 上调用了方法“addItem”

NoSuchMethodError:在 null 上调用了方法 '[]' - Flutter

StringWriter 的 toString 方法更改 TimeZone