gpt4 book ai didi

java - 如何禁用带有计时器的按钮并在重新启动时保持禁用状态?

转载 作者:太空狗 更新时间:2023-10-29 15:25:10 25 4
gpt4 key购买 nike

所以我的目标是点击一个按钮,禁用它并启动一个计时器,一旦计时器启动就启用按钮。简单吧?你会做这样的事情。

button1.onClick { 

button1.setEnabled(false);
new CountDownTimer(60000, 1000) { //Set Timer for 5 seconds
public void onTick(long millisUntilFinished) {
}

@Override
public void onFinish() {
button1.setEnabled(true);
}
}.start()

}

但是.. 如果用户在计时器运行时关闭应用程序,按钮将再次启用,重新启动计时器。因此,用户不必等待 60 秒,只需关闭应用程序并在 10 秒内打开它即可。

所以我的问题是,如何禁用该按钮 60 秒,并在 60 秒过去之前,即使用户关闭并打开应用程序也保持禁用状态?

最佳答案

您必须持久化该信息在数据存储中,即使应用关闭也能保留。

一种方法是使用 https://developer.android.com/training/data-storage/shared-preferences

您必须在启动计时器时获取时间戳,或者计算计时器的“结束时间”。然后你保存这些信息,每当应用程序启动时,你首先检查你的偏好是否包含这样的时间戳。如果是,则检查您是否仍在那个“定时”窗口中。

需要记住的关键事项:当计时器启动时,您必须删除持久化信息,并且:如果有人同时更改系统时钟,您也会遇到问题。处理这个问题是可能的,但需要更多的努力。

关于java - 如何禁用带有计时器的按钮并在重新启动时保持禁用状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54623708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com