11

handler.postDelayed()ボタンを使用してタイマーを一時停止するにはどうすればよいですか。したがって、同じボタンをもう一度クリックすると、handler.postDelayed()タイマーが再開するはずです。

handler.postDelayed(counterz, 60);
4

3 に答える 3

19

Handler微調整するタイマーがありません。他の多くのものも実行されているスレッドのイベントキューに投稿しています。

投稿された をキャンセルできますRunnable:

handler.removeCallbacks(counterz);

もう一度投稿して、再開します。

于 2013-07-03T03:45:27.257 に答える
3

Handler にはメソッドがありませんpause。キャンセルして再度実行する必要があります。

http://developer.android.com/reference/android/os/Handler.html#removeCallbacks(java.lang.Runnable)

public final void removeCallbacks (Runnable r)

メッセージ キューにある Runnable r の保留中の投稿を削除します。

不要な場合は m_handler.removeCallbacks(m_handlerTask)、実行をキャンセルするために電話する必要があります。再度必要な場合は、タスクを再度実行する必要があります。

            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

タイマーを使用するとします。タイマーでも一時停止メソッドはありません。

于 2013-07-03T03:58:34.983 に答える