我正在尝试使用计时器创建一些基于时间的事件。以下代码在计时器启动5秒后成功显示吐司,但我需要在5/10/20秒显示吐司。
我尝试过使用if(elapsedTime == 5000 || elapsedTime == 10000)但是当我使用==时没有显示吐司。
有什么想法吗?
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();
}
}
};
答案 0 :(得分:0)
尝试这样的事情(如果你想让它每隔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;
}
}
};