Я пытаюсь сохранить тему своего приложения, используя переменную bool в хранилище get. но всякий раз, когда я перезапускаю или открываю приложение после закрытия приложения, переменная становится нулевой.
void changeTheme() {
final box = GetStorage();
box.writeIfNull('isDark', false);
bool isDark = box.read('isDark');
isDark
? Get.changeTheme(QRCodeTheme.lightThemeData)
: Get.changeTheme(QRCodeTheme.darkThemeData);
box.write('isDark', !isDark);
}
void main() async {
WidgetsFlutterBinding.ensureInitialized();
Prefs.init();
runApp(QRCodeScannerApp());
}
class QRCodeScannerApp extends StatefulWidget {
QRCodeScannerApp({Key? key}) : super(key: key);
@override
State<QRCodeScannerApp> createState() => _QRCodeScannerAppState();
}
class _QRCodeScannerAppState extends State<QRCodeScannerApp> {
bool darkMode = false;
@override
void initState() {
final box = GetStorage();
box.writeIfNull('isDark', false);
darkMode = box.read('isDark');
super.initState();
}
@override
Widget build(BuildContext context) {
return GetMaterialApp(
debugShowCheckedModeBanner: false,
theme:
darkMode ? QRCodeTheme.darkThemeData : QRCodeTheme.lightThemeData,
initialRoute: AppRoutes.home,
getPages: [
GetPage(
name: AppRoutes.home,
page: () => HomePage(),
),
],
);
}
}
Что мне не хватает? Заранее спасибо!





В вашем void main введите код ниже
await GetStorage.init();
Вы должны добавить ключевое слово await
P.S :- В вашем случае вы пишете await Prefs.init()