拜托,我是颤振新手。我希望用户能够在一天的任何给定时间取款一次,但我希望在第一次点击或第一次取款后禁用取款按钮,然后到明天该按钮将处于活动状态。请问我该如何尝试这个,我尝试过使用共享首选项但无济于事。
我尝试了下面的代码,但收到错误“FormatException:无效的日期格式”,我也尝试更改日期格式但无济于事。请提供任何帮助,我们将不胜感激。
ElevatedButton(
onPressed: () async {
SharedPreferences prefs = await SharedPreferences.getInstance();
// var currentTime = DateTime.now();
// var _formatter = DateFormat('yyyy/MM/dd HH:mm').format(currentTime);
// var resetTime = DateTime.parse(prefs.getString("time").toString());
// final resetTime = DateTime.parse(prefs.getString("time") ?? '');
var currentTime = DateTime.now();
var resetTime = DateTime.parse(prefs.getString("time").toString());
if(resetTime != null && !compareDate(currentTime, resetTime))
prefs.setBool("one_tap", true);
if(prefs.getBool("one_tap") == null || prefs.getBool("one_tap")!){
print("Once in a day");
title = "Change Date";
prefs.setBool("one_tap", false);
prefs.setString("time", currentTime.toString());
}
},
child: Text(title),),
compareDate(DateTime current, DateTime reset) {
if (reset != null) {
return current.year == reset.year &&
current.month == reset.month &&
current.day == reset.day;
} else {
return true;
}
}
有两种选择可以做到这一点: