我有一个小问题要问大家,我想把sharepref变量中的数据显示到UI Widget中。我刚刚学会了扑腾,仍然很困惑。
这是我用来读取数据的sharedpref。
void loginStatus() async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
String user = prefs.getString('username');
String pasw = prefs.getString('password');
}
我想";用户";设置在UI小部件Text($user)
中,我希望你们能给我一些参考或代码,谢谢你们的原因,我希望你在这种情况下一切顺利
您可以在类的顶部定义var,使其在类中可访问
String user='';
然后在initState()
中调用您的登录状态
@override
void initState() {
super.initState();
loginStatus();
}
然后将您的loginstatus
附加如下
void loginStatus() async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
setState()({
user = prefs.getString('username');
pasw = prefs.getString('password');
});
}
现在您可以在任何地方使用Text("$user"(。
我不确定问题出在哪里,但您需要更好地确定变量的范围。在方法外部声明String user
和String pasw
。我假设它们是私有字段,所以将它们重命名为_user
和_pasw
。下划线使它们在dart中为私有。
然后:
void loginStatus() async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() => {
user = prefs.getString('username');
pasw = prefs.getString('password');
})
}