Autore Topic: Simple Timer with CountDownTimer  (Letto 302 volte)

Offline flashman

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
Simple Timer with CountDownTimer
« il: 05 Febbraio 2015, 13:38:36 CET »
0
Salve a tutti. Mi sto cimentando sui timer e sono partito da CountDownTimer.

Ecco il codice da me implementato e modificato :
Codice (XML): [Seleziona]
mCountDownTimer = new CountDownTimer(nSec*1000, 1000) {
            public void onTick(long millisUntilFinished) {
                mTextView.setText("" + millisUntilFinished / 1000);
            }
            public void onFinish() {
                mTextView.setText("0");
                Toast.makeText(getApplicationContext(),"FIRED!",Toast.LENGTH_LONG).show();
                mNumberPicker.setEnabled(true);
                myfunction();
            }
        }.start();

Tutto funziona quasi perfettamente. In nSec imposto il numero di secondi (tramite un NumberPicker) e alla pressione di un bottone mi parte il conto alla rovescia.

Ecco le mie domande e dubbi :

 1. Ho scelto un CountDownTimer perche dovrebbe "morire con l'app". Questo ho letto. A differenza di un AlarmManager. In realta' cosi' non e' stato ed ho dovuto effettuare un clear nel metodo onStop() dell'app. E' corretto?
 
 2. Stranamente arrivato all'ultimo step quando  in onFinish il timer si blocca per qualche istante Per poi finire. Ho provato sia sull'AVD che sul telefono. Sto sbagliando qualche cosa ? Anche dal Log sembra tutto corretto ma quando arrivo all'ultimo valore 1 devo aspettare per arrivare a 0 + Toast. Potete darmi qualche suggerimento in merito per capire meglio ?

Grazie mille.