Timer zur Zeitanzeige

  • Ich rufe einen Timer über

    HTML
    timer.start();

    auf.
    Dieser soll die verstrichene Zeit in Minuten und Sekunden anzeigen.
    Allerdings toggelt der Timer immer um 2 Sekunden.
    Also bspw: 05:45, eine Sekunde später 05:46 und dann sofort 05:47 angezeigt.
    Ohne dass eine Sekunde zwischen 5:46 und 5:47 war. Woran kann das liegen?

    HTML
    CountDownTimer timer = new CountDownTimer(600000,1000) {
                 public void onTick(long millisUntilFinished) {
                     sec++;
                     txt_timer.setText( String.format("%02d:%02d",sec/60,sec%60) );
                 }
                 public void onFinish() {
                 }  
                }.start();
  • Führst Du den Timer eventuell auf dem Mainthread aus?
    Falls ja könnte da das Problem liegen.


    Aktuell ist dann der Ablauf auf dem Maintrhead ungefähr so:
    Tick, Anzeige neu zeichnen, Tick, Anzeige neu zeichnen, Tick, Anzeige neu zeichnen…
    Wenn jetzt gerade ein neuer Tick reinkommt, während die Anzeige neu gezeichnet wird, wird halt stumpf noch einmal gezeichnet. Und dann sieht es so aus, als würde da eine Sekunde übersprungen.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Das würde ich in Deinem Fall probieren.


    Ich persönlich mache das zwar nicht, allerdings sind bei mir die Timer auch nicht so zeitkritisch, dass ich ihren genauen Wert irgendwo darstellen müsste.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!