我正在尝试使用计时器创建一些基于时间的事件。下面的代码在计时器启动 5 秒后成功显示 toast,但我需要在 5/10/20 秒时显示 toast。
我尝试使用 if (elapsedTime == 5000 ||elapsedTime == 10000 ) 但当我使用 == 时没有显示 toast。
有什么想法吗?
Chronometer.OnChronometerTickListener mChronoListener = new OnChronometerTickListener() { // listens to journey timer to initiate time based events
public void onChronometerTick(Chronometer arg0) {
long elapsedTime = SystemClock.elapsedRealtime() - arg0.getBase();
if (elapsedTime > 5000)
{
Toast.makeText(SafeDrive3Activity.this, "HOUR PASSED", Toast.LENGTH_LONG).show();
}
}
};
最佳答案
尝试这样的操作(如果您想此后每 10 秒保持一次):
Chronometer.OnChronometerTickListener mChronoListener = new OnChronometerTickListener() {
// listens to journey timer to initiate time based events
int currentNeededTime = 5000;
public void onChronometerTick(Chronometer arg0) {
long elapsedTime = SystemClock.elapsedRealtime() - arg0.getBase();
if (elapsedTime > currentNeededTime)
{
Toast.makeText(SafeDrive3Activity.this, "HOUR PASSED", Toast.LENGTH_LONG).show();
currentNeededTime += currentNeededTime == 5000 ? 5000 : 10000;
}
}
};
关于javascript - 使用 onchronometerticklistener 的 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9213738/