我很不高兴 当我点击一个按钮
时,我有一个计时器开始计数器 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点--->做点什么
任何建议都会被贬低。 :)
答案 0 :(得分:1)
尝试使用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();
}
我不确定,Cronometer的频率是多少,我的猜测是每一秒。如果是其他东西,你可能需要调整周期。
如果不是一个固定的时间段,你需要检查时间,如:
@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();
}
也许,无论如何,第二个更好。