Il y a déjà un Chronomètre de classe pour android et pourquoi ne pas mon travail de mise en œuvre?

Dernièrement, j'ai vu http://developer.android.com/reference/android/os/CountDownTimer.html et je me demandais si il y a une classe pour arrêter de montres depuis je veux dire à l'utilisateur de mon Application depuis combien de temps il déjà essayer de résoudre le puzzle. Je veux dire qu'il n'est pas compliquée à programmer un tel arrêter de les regarder sur votre propre. J'ai essayé quelque chose comme

    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);

Mais bizarrement, la mise en page de mon activité n'est pas gonflé plus depuis que j'ai cette statusBar.post(runnable); à la fin de l'acitivité du onCreate méthode de sens qu'après le démarrage de l'application, je ne vois qu'un écran blanc au lieu de l'interface normale.

  • La bonne chose à faire est d'utiliser une Minuterie.
  • Vous ne pouvez pas dormir le thread principal. Et si vous exécutez ce code dans d'autres thread, vous allez avoir besoin d'un gestionnaire pour écrire sur l'INTERFACE utilisateur (seul le thread principal peut modifier l'INTERFACE utilisateur).