Autore Topic: CountDown timer  (Letto 518 volte)

Offline iffo87

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
CountDown timer
« il: 07 Dicembre 2012, 15:44:13 CET »
0
Salve a tutti
oggi ho usato il count down timer e fin qui tutto ok
Codice (Java): [Seleziona]
new CountDownTimer(jArray.getInt("timer")*1000, 1000) {

                     public void onTick(long millisUntilFinished) {
                         timer.setText("Mancano: " + millisUntilFinished / 1000);
                     }

                     public void onFinish() {
                         timer.setText("tempo scaduto");
                     }
                  }.start();
adesso vorrei che invece di mostrare i secondi che scorrono ci sia qualcosa in formato 0g:0h:0m:0s
qualcuno ha qualcosa da suggerirmi??

Offline iffo87

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
Re:CountDown timer
« Risposta #1 il: 09 Dicembre 2012, 17:02:22 CET »
0
ho risolto così, anche se devo fare un pò di conti per controllare la correttezza  :-P

Codice (Java): [Seleziona]
    public String formatTime(long millis) {
        String output = "";
        long seconds = millis / 1000;
        long minutes = seconds / 60;
        long hours = minutes / 60;
        long days = hours/24;

        seconds = seconds % 60;
        minutes = minutes % 60;
        hours = hours % 24;

        String secondsD = String.valueOf(seconds);
        String minutesD = String.valueOf(minutes);
        String hoursD = String.valueOf(hours);
        String daysD = String.valueOf(days);

        if (seconds < 10)
          secondsD = "0" + seconds;
        if (minutes < 10)
          minutesD = "0" + minutes;
        if (hours < 10)
          hoursD = "0" + hours;
        if (days < 10)
          daysD= "0" + days;

        output = daysD+ "g "+ hoursD + "h:" + minutesD + "m:" + secondsD+"s";
        return output;
      }

...
...
...

                 new CountDownTimer(jArray.getInt("timer")*1000, 1000) {

                     public void onTick(long millisUntilFinished) {
                         timer.setText("Mancano: " + formatTime(millisUntilFinished));
                     }

                     public void onFinish() {
                         timer.setText("Tempo scaduto!!");
                     }
                  }.start();

spero possa servire a qualcuno  ;-)