0

ボタンのクリック時に TimerTask (m_timer) を呼び出しています。

m_timer.schedule(m_progressUpdater, 0, 500);

私の実行方法を開始します:

    @Override
    public void run() {

        //do some stuff
        progressBar.setProgress(currentProgress);

        if (progress >= 100) {
            handler.post(new Runnable() {
                @Override
                public void run() {
                    CompleteTask();
                }
            });
        }
    }

これを一度呼び出すと、完全に機能します。もう一度呼び出すと、アプリが応答しなくなります。CompleteTask() メソッドでタスクをキャンセルする必要があると考えていますが、TimerTask と Timer の両方をキャンセルしようとしましたが、それでもクラッシュします。誰が問題が何であるか知っていますか?

4

2 に答える 2

0

2 番目の呼び出し用に新しい TimerTask インスタンスを作成しようとしましたか? ちなみに、タイマーをキャンセルしないでください。そうしないと、すべてのタスクがキャンセルされます。そして、ログは何を言ったのですか?

于 2011-10-18T01:50:32.997 に答える