Android创建一个每秒递增一次的变量

标签 android timer counter intervals seconds

在 Java for Android 中,我想创建一个每秒增加 1 的变量,换句话说,它计数,这样我可以检查在过去 3 秒内是否调用了一个函数,如果没有,我希望它做一些与以前不同的事情。

有没有内置的方法来做到这一点?我熟悉 Timer 类,但它似乎并没有按照我希望的方式工作。还有什么吗?

tl;dr:我想创建一个每秒增加 1 的变量,这样我就可以使用它根据自上次调用以来的时间长度来不同地处理函数。是否有捷径可寻?如果不是,执行此操作的困难方法是什么?

最佳答案

为什么不存储最后一次调用该方法的时间,然后将其与当前时间进行核对?

private long timeLastCalled;

public void someMethod() {
    timeLastCalled = SystemClock.elapsedRealTime();
}

public boolean someMethodCalledRecently() {
    return (SystemClock.elapsedRealTime() - timeLastCalled) > 3000;
}

关于Android创建一个每秒递增一次的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18150409/

相关文章:

c# - 多线程后台 worker 设计

javascript - 我想在 angularjs 中为我的倒数计时器添加暂停按钮

Python - 计算列表字符串中的单词数

android - 当我启动模拟器时绝对没有任何反应

Android 将当前的 Fragment 类转换为 Activity 类

c# - 如果表单应用程序关闭 C#,如何防止发生 Timer Elapsed 事件

Python - 从映射、非整数值创建 Counter()

java - Imageview 不采用卡片 View 的角半径

android - BackupAgent 什么都不做

Facebook - 仪表板问题,重新加载页面后计数器重置