2013-07-03 8 views

Antwort

16

Handler keinen Timer zwicken. Sie sind Entsendung ereignis Warteschlange eines Threads, wo viele andere Sachen wie gut läuft.

Sie können Runnable ‚s geschrieben cancel:

handler.removeCallbacks(counterz); 

und Post wieder fortzusetzen.

+0

Kann ich zeigen auch ein Popup, wenn der Handler angehalten wird? – Si8

3

Handler keine pause Methode. Sie müssen abbrechen und erneut ausführen.

public final void removeCallbacks (Runnable r)

Entfernen Sie alle Beiträge von Runnable r anhängig, die in der Nachrichten-Warteschlange sind.

Wenn nicht erforderlich Sie müssen m_handler.removeCallbacks(m_handlerTask) anrufen, um den Lauf abzubrechen. Wenn Sie erneut benötigen, müssen Sie die Aufgabe erneut ausführen.

  Handler m_handler; 
      Runnable m_handlerTask ; 
      m_handler = new Handler(); 
      m_handlerTask = new Runnable() 
      { 
       @Override 
       public void run() { 
          // do something 

        m_handler.postDelayed(m_handlerTask, 1000);  

       } 
      }; 
      m_handlerTask.run(); // call run 

Angenommen, Sie verwenden einen Timer. Selbst Timer hat keine Pausenmethode.