привет, я новичок в создании своего первого приложения, могу ли я изменить значение в будущей функции в построителе на основе изменения значения, а затем сбросить его так, как это было при завершении приложения? Archive.dart
class _ArchiveState extends State<Archive> {
Future<List<YearsMain>> downloadJSONMain() async {
String year;
SharedPreferences pref = await SharedPreferences.getInstance();
year = pref.getString('year');
final jsonEndpoint = "http://msc-mu.com/api_verfication.php";
final response = await http.post(jsonEndpoint, body: {
'flag': 'selectmainsubjects',
'year': year,
});
if (response.statusCode == 200) {
List mainSubject = json.decode(response.body);
return mainSubject.map((mains) => new YearsMain.fromJson(mains)).toList();
} else
throw Exception(
'We were not able to successfully download the Main Subjects.');
}
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: new FutureBuilder<List<YearsMain>>(
future: downloadJSONMain(),
builder: (context, snapshot) {
if (snapshot.hasData) {
List<YearsMain> mains = snapshot.data;
return ListViewMain(mains);
} else if (snapshot.hasError) {
return Text('${snapshot.error}');
}
return CircularProgressIndicator();
},
),
),
);
}
}
Я хочу реализовать раскрывающийся список, чтобы изменить значение года в будущей функции, и когда приложение будет закрыто, я хочу, чтобы это значение вернулось таким, каким оно было, есть ли способ сделать это, или добавив другую строку, которую я не знаете на самом деле, любая помощь?