我试图将数据保存到颤动的共享首选项中,但每当我调用此函数时,我在命令行中得到一条消息
Closure():=>空
Future saveName(String name)async{
SharedPreferences prefs=await SharedPreferences.getInstance();
prefs.setString("name ", name);
}
这个函数存储在另一个文件中,我在iconbutton上调用它作为
new IconButton(icon: new Icon( Icons.arrow_right),onPressed: ()=>print((){saveNamePreference(name.text);}),)
和
void saveNamePrederence(String name){
saveName(name);
print("Name Saved Successfully");
}
有人指出我正确的方向
异步未被称为正确。首先用异步调用saveNamePreference
:
new IconButton(
icon: new Icon( Icons.arrow_right),
onPressed: () async {
var _temp = await saveNamePreference(name.text);
print(_temp);
}
)
然后正确地返回状态:
bool saveNamePreference(String name) async {
try {
SharedPreferences prefs=await SharedPreferences.getInstance();
prefs.setString("name ", name);
return true;
} catch (e) {
print(e);
return false;
}
}