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

Zel*_*lah 1 android counter timer intervals seconds

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

有没有内置的方法来做到这一点?我熟悉Timer类,但它似乎没有像我想要的那样工作..还有什么吗?

tl; dr:我想创建一个每秒增加1的变量,所以我可以用它来根据自上次调用以来的时间长短来对待函数.是否有捷径可寻?如果没有,这样做有什么困难?

Kar*_*uri 6

为什么不存储上次调用方法的时间,然后根据当前时间进行检查?

private long timeLastCalled;

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

public boolean someMethodCalledRecently() {
    return (SystemClock.elapsedRealTime() - timeLastCalled) > 3000;
}
Run Code Online (Sandbox Code Playgroud)