我已经处理这个问题一个星期了。
我不知道如何在共享首选项中保存一个布尔值。我真的需要它用于多个项目。
有人能告诉我,我是如何在代码中保存Checkboxlisttile的bool值的吗?
请修改我的代码:)
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/src/material/checkbox_list_tile.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
title: 'Gym',
home: MyStatefulWidget(),
);
}
}
class MyStatefulWidget extends StatefulWidget {
const MyStatefulWidget({super.key});
@override
State<MyStatefulWidget> createState() => _MyStatefulWidgetState();
}
//
//
//
class _MyStatefulWidgetState extends State<MyStatefulWidget> {
@override
void initState() {
_loadData();
super.initState();
}
_loadData() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
bool boolValue = prefs.getBool('option');
}
@override
_saveBool() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
}
var _test = false as bool;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: CheckboxListTile(
value: _test,
onChanged: (val) {
setState(() {
_test = !_test;
_saveBool();
});
},
),
),
);
}
}
我看了yt的视频和stackoverflow的帖子,没有任何效果。
1条答案
按热度按时间s8vozzvw1#
以下是您答案示例:
在需要保存bool的地方使用setter和getter:
编辑:根据你在评论中说的你想要的确切代码,下面是你应该做的。注意,在这些代码之前,像我一开始说的那样创建
SharedPreference
类:快乐编码...