In letzter Zeit sah ich http://developer.android.com/reference/android/os/CountDownTimer.html und fragte mich, ob es eine entsprechende Klasse für Stoppuhren gibt, da ich dem Benutzer meiner App sagen möchte, wie lange er bereits versucht, das Puzzle zu lösen. Ich meine, es ist nicht so kompliziert, eine solche Stoppuhr selbst zu programmieren. Ich habe versucht, so etwas wieGibt es bereits eine StopWatch-Klasse für Android und warum funktioniert meine Implementierung nicht?
Runnable runnable = new Runnable() {
@Override
public void run() {
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
long seconds = (System.currentTimeMillis() - t)/1000;
statusBar.setText(String.format("%02d:%02d", seconds/60, seconds % 60));
}
}
};
statusBar.post(runnable);
Aber bizarr das Layout meiner Tätigkeit aufgeblasen wird nicht mehr, da ich diese statusBar.post(runnable);
am Ende des onCreate
Methode des acitivity habe was bedeutet, dass die App nach dem Start nur ich einen weißen Bildschirm statt die normale gui.
, das Richtige zu tun, ist mit einem Timer zu starten. – Merlevede
Sie können den Hauptthread nicht schlafen. Und wenn Sie diesen Code in einem anderen Thread ausführen, benötigen Sie einen Handler, um in die Benutzeroberfläche zu schreiben (nur der Hauptthread kann die Benutzeroberfläche ändern). –