0

初めに、私の悪い英語をお詫びしたいと思います。

私の問題があります:

以下のタイマーは 3 秒ごとにメッセージを表示していますが、(戻るボタンを使用して) プログラムから抜け出すと、メッセージは引き続き表示されます。

 public Runnable mUpdateTimeTask = new Runnable(){        
        @Override
        public void run() {
            // TODO Auto-generated method stub
            while (true) {
                try {
                    Thread.sleep(3000);}
                 catch (Exception e) {
                    // TODO: handle exception
                }
            mHandler.post(new Runnable(){
        @Override
         public void run() {
                            Toast.makeText(getApplicationContext(), "Testing 3 Seconds", Toast.LENGTH_LONG).show();
                  }
              });
            }
        }

};

私はすでにそれを使用して、mHandler.removeCallbacks(mUpdateTimeTask);まだそれを停止することはできません。

前もって感謝します。

4

2 に答える 2

0

私は最近同じ問題を抱えていましたが、よく検索した後、ここで解決策を見つけました。

handler.removeCallbacksAndMessages(null);

保留中のメッセージ (Runnables) のみを停止します。現在実行中のランナブルでは機能しません。現在実行中のランナブルを停止するには、独自のクラスを作成する必要があります。

于 2013-07-31T17:44:11.077 に答える