Перезапустите таймер после вызова отмены () - PullRequest
0 голосов
/ 09 ноября 2011

Мне нужно перезапустить таймер на onResume(), потому что на onPause() я звоню timer.cancel().Как я могу это сделать?

Вот код, с которого я запускаю таймер:

 handler = new Handler();
        t = new Timer();
        t.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {

                runOnUiThread(new Runnable() {
                    public void run() {
                        doReload2();
                        populate();


                    }
                });

            }

        }, 300, 30000);

и здесь я отменяю таймер:

@Override
protected void onPause() {
    super.onPause();
    System.out.println("onPause!!!!!!");
    t.cancel();
}

1 Ответ

1 голос
/ 09 ноября 2011

Попробуй так:

Timer t;

@Override
void onCreate(){
    t = Timer();
} 

@Override
void onResume(){
    super.onResume();
    t.scheduleAtFixedRate(new TimerTask() {
        @Override
        public void run() {
            runOnUiThread(new Runnable() {
                public void run() {
                    doReload2();
                    populate();
                }
            });
        }
    }, 300, 30000);
}

@Override
void onPause(){
    super.onPause();
    System.out.println("onPause!!!!!!");
    t.cancel();
}
...