我需要使用未来的构建器来获取单选按钮表单共享首选项的值。 但是当我打开单选按钮的页面时出现错误是:
Another exception was thrown: Null check operator used on a null value
单选按钮小部件是:
FutureBuilder<bool>(
future: getDayNotificationIsOn(),
builder: (context, snapshot) {
return NeumorphicSwitch(
value: snapshot.data!,
style: NeumorphicSwitchStyle(
thumbShape: NeumorphicShape.flat,
activeTrackColor: const Color(0xff257864),
),
onChanged: (value) async {
setState(() {});
//sharedPreferences
await setDayNotificationIsOn(value);
},
);
}),
未来构建器中用于获取单选按钮值的函数:
Future<bool> getDayNotificationIsOn() async {
SharedPreferences _pref = await SharedPreferences.getInstance();
return _pref.getBool('dayNotificationIsOn') ?? false;
}
答案 0 :(得分:1)
您应该在 NeumorphicSwitch
之前添加一个检查,以通过添加 if (snapshot.hasData)
来确保快照具有数据。
答案 1 :(得分:0)
我猜 snapshot.data
为空,snapshot.data!
正在触发此异常