1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

TimerTask aktualisiert TextView

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von scrats, 01.02.2010.

  1. scrats, 01.02.2010 #1
    scrats

    scrats Threadstarter Neuer Benutzer

    Beiträge:
    18
    Erhaltene Danke:
    0
    Registriert seit:
    25.01.2010
    Wiedermal ich^^

    Also um eine "Uhr" bei meinem Spiel anzuzeigen benutze ich einen TimerTask:
    Code:
    class UpdateTimeTask extends TimerTask {
               public void run() {
                   int time = getCurrentSeconds();
                   int minutes = time / 60;
                   int seconds = time % 60;
    
                   textClock.setText(String.format("%d:%02d", minutes, seconds));
               }
            }
    
    Ich hatte zuerst einen Chronometer, doch ich benötige das es auch runter zählt. Dafür hab ich getCurrentSeconds, es liefert mir immer die Momentan vergangenen Sekunden. Also es zählt hoch und runter.
    Der TimerTask soll einfach nur aktualisieren.
    Aufrufen tu ich ihn so:
    Code:
    Timer timer = new Timer();
    timer.schedule(new UpdateTimeTask(), 100, 200);
    
    Mein Problem:

    Das TextView wird unregelmässig aktualisiert. Um genau zu sein, aktualisiert sichs nur wenn eine weitere Klasse etwas zeichnet.
    Kann man das TextView dazuzwingen sich neu zu zeichnen?

    danke schon mal!
     
  2. sebastian, 02.02.2010 #2
    sebastian

    sebastian Fortgeschrittenes Mitglied

    Beiträge:
    271
    Erhaltene Danke:
    74
    Registriert seit:
    11.05.2009
    Android Developers Blog: A Stitch in Time
    Du musst schon den gesamten Artikel lesen ;) Weiter unten steht was zu Handler, das ist wichtig für dich, da du UI Veränderungen nur aus dem Thread machen darfst, mit dem du auch das UI erstellt hast.
     
    scrats bedankt sich.
  3. Fr4gg0r, 02.02.2010 #3
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    aus einem anderem Thread heraus müsste es doch mit postInvalidate() gehen...
     
  4. scrats, 02.02.2010 #4
    scrats

    scrats Threadstarter Neuer Benutzer

    Beiträge:
    18
    Erhaltene Danke:
    0
    Registriert seit:
    25.01.2010
    Danke, habs mit dem Handler gelöst! Naja werd das nächste mal noch länger und genauer suchen!
     

Diese Seite empfehlen