我有一个倒计时计时器,该计时器必须运行30秒,滴答间隔为3秒。 但是似乎第一次滴答就发生在计时器启动后。我希望在3秒后发生第一次滴答声。 然后每3秒滴答一次。我该怎么办?
这是我的代码-
if (!timerRunning && timer == null) {
timer = new CountDownTimer(300000, 3000) {
@Override
public void onTick(long l) {
timerRunning = true;
Log.e(TAG,"Tick every 3 seconds");
}
@Override
public void onFinish() {
timerRunning = false;
}
}.start();
}
答案 0 :(得分:1)
一种可能的解决方案是使用如下处理程序:
class AA {
public:
AA(const char* name, unsigned short number);
int Write(int x);
...
}
class BB: public AA {
public:
BB(const char* name, unsigned short number, const char* other);
BB(AA aaObj, const char* other);
int Write(double y, int x) {
/* do something */
AA::Write(x)
}
...
}
因此该代码可以为您提供帮助:
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 3000ms
}
}, 3000);