2016-05-24 8 views
0

Ist es möglich, einen Timer im Hintergrund ausführen und Haupt Thread (sagen ein Fragment), wenn es abgeschlossen ist? In unten Code läuft OnTick und OnFinish auf Haupt-Thread? Wenn nicht, dann wird es hilfreich sein, wenn der Haupt-Thread nach Abschluss des Timers informiert wird?Ausführen eines Timers im Hintergrund und Informieren Haupt (UI) -Thread, wenn es in Android App

new CountDownTimer(30000, 1000) { 

    public void onTick(long millisUntilFinished) { 
     mTextField.setText("seconds remaining: " + millisUntilFinished/1000); 
    } 

    public void onFinish() { 
     mTextField.setText("done!"); 
    } 
    }.start(); 

Antwort

1

Es gibt viele Möglichkeiten, einen Timer im Hintergrund auszuführen, der den Hauptthread informiert, wenn der Timer abgeschlossen ist. Dienste, AsyncTask und Threads könnten hier alle verwendet werden. Sehen Sie diese SO für unterschiedliche Strategien schreiben:

Difference between Service, Async Task & Thread?

Ohne mehr über Ihren Anwendungsfall zu wissen, würde ich empfehlen, zuerst in AsyncTask suchen, wie es mit vordefinierten Rückrufen kommt Kommunikation zurück zu dem Haupt-Thread zu erleichtern.

Dieser SO Beitrag zeigt, wie eine AsynTask verwenden:

AsyncTask Android example

+0

Dank! es half... –

Verwandte Themen