我比较菜鸟 我有一个天文台,当我点击一个按钮时它开始计时
crono = (Chronometer) findViewById(R.id.crono);
begin= (Button) findViewById(R.id.begin);
begin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
crono.setBase(SystemClock.elapsedRealtime());
crono.start();
every minute do something ////////
}
});
每分钟我应该做什么? 例如 1:00 ---> 做某事 2:00 ---> 做某事
我们将不胜感激任何建议。 :)
最佳答案
尝试使用 OnChronometerTickListener
:
@Override
public void onClick(View arg0) {
crono.setBase(SystemClock.elapsedRealtime());
crono.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
private long mTicks = 0;
public void onChronometerTick(Chronometer chronometer) {
if ((mTicks / 60) == 0) { // adapt period here
// do something
}
mTicks++;
}
});
crono.start();
}
我不确定,天文钟的滴答频率,我猜是每秒。如果是其他情况,您可能需要调整期间。
如果不是固定周期,你需要像这样检查时间:
@Override
public void onClick(View arg0) {
crono.setBase(SystemClock.elapsedRealtime());
crono.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
private long mLastAction = 0;
public void onChronometerTick(Chronometer chronometer) {
now = System.getCurrentMillies();
if (now - mLastAction > 60 * 1000) {
// do something
mLastAction = now;
}
}
});
crono.start();
}
也许,第二个更好。
关于android - 每隔 X 次用天文钟做一些事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18656064/