[英]Can't figure it out how to use SharedPreferences in flutter, please help :)
[英]How use var from out side SharedPreferences function Flutter
我使用SharedPreferences保存字體大小,並且當(initstat)數據中的print(myfont)為Null時。 以及getprefs()之外的任何地方。 為什么呢?
我用這個代碼
class MyASetting extends State<SettingPage> {
bool checkfont = true;
double myfont ;
saveprefs(bool val) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() {
checkfont = val;
prefs.setBool("checkfont", checkfont);
getprefs();
});
} // save sharde
getprefs() async {
try {
SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() {
checkfont = prefs.getBool("checkfont");
if (checkfont == true) {
myfont = 20;
} else {
myfont = 16;
}
return myfont;
});
} catch (e) {
print("Sorry");
}
} // get shared
@override
void initState() {
super.initState();
print(myfont);
getprefs();
}
將此置於setState范圍之外
prefs.setBool("checkfont", checkfont);
您的最終代碼必須是:
saveprefs(bool val) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setBool("checkfont", val);
setState(() {
checkfont = val;
// getprefs();
});
} // save sharde
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.