我需要更改页面开头的通知图标,其中包含共享首选项中的值。
从共享偏好获取通知的代码:
//getting notification on/off
Future<bool> _notificationGetState() async {
final SharedPreferences _prefs = await SharedPreferences.getInstance();
return _prefs.getBool('notification') ?? true;
}
调用initState中前一个函数的函数:
//i create this as
//inside initState
//i can not use future on it
void _initializeNotificationState() async {
isActiveNotification = await _notificationGetState();
}
}
initState 代码为:
late bool isActiveNotification ;
@override
void initState() {
_initializeNotificationState();
super.initState();
}
错误是:
LateInitializationError: Field 'isActiveNotification' has not been initialized.