Vyvíjam aplikáciu, ktorá sa musí používaťčasovač pre nejaký účel. Čo musím urobiť, je nastaviť časovač, keď je splnená podmienka a zodpovedajúcim spôsobom ho zrušiť. Potom môžem znova spustiť ten istý časovač, ktorý som zrušil. Uveďte riešenie.
odpovede:
0 pre odpoveď č. 1Pre jeden časovač Android nastaví jedno vlákno. Keď zrušíte tento časovač, jeho vykonávacie vlákno sa ukončí elegantne a na ňom už nemusia byť naplánované žiadne ďalšie úlohy. Takže musíte vytvoriť novú inštanciu objektu časovača. môžete urobiť, ako je uvedené nižšie.
if(condition == true)
{
timer = new Timer();
timer.schedule(new TimerTask(), delay, span);
}
else{
timer.cancel();
}
0 pre odpoveď č. 2
vytvoriť CountDownTimer
triedy ako:
public class MyCount extends CountDownTimer {
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
// do something of finish timer
}
@Override
public void onTick(long millisUntilFinished) {
// do something on tick of timer
}
}
a mali by byť predmetom MyTimer, ako je uvedené nižšie:
MyCount timerCount = new MyCount(<TIME_UNTIL_FINISH_MILLISECONDS>, <TIME_OF_EACH_TICK>);
a môžete spustiť časovač kdekoľvek chcete pomocou:
timerCount.start();
a zrušte ho pomocou:
timerCount.cancel();