2013-07-11 3 views
1

У меня есть два вида деятельности. ActivityA имеет countdowntimer. Когда я запускаю ActivityB из ActivityA, таймер не останавливается. Как мне это сделать ?Как убить CountDownTimer Когда я начинаю деятельность?

myTimer = new CountDownTimer(20000, 1000) { 
    @Override public void onFinish() 

    Intent mainIntent = new Intent(QRcode.this,ActivityC.class); 
    QRcode.this.startActivity(mainIntent); 

}; 
myTimer.start(); 
Intent mainIntent = new Intent(QRcode.this,ActivityB.class); 

QRcode.this.startActivity(mainIntent); 
+0

Показать код, в котором вы указываете таймер. как правило, вы можете остановиться в OnPause() функция активность А. –

+0

MyTimer = новый CountDownTimer (20000, 1000) { \t \t \t @Override \t \t \t общественного недействительными onFinish() \t \t \t}; \t \t \t myTimer.start(); Intent mainIntent = новое намерение (QRcode.this, BarcodeGecis.class); \t \t \t mainIntent.putExtras (bundle); \t QRcode.this.startActivity (mainIntent); –

ответ

2

В ActivityA перспективе этот код, прежде чем начать ActivityB

myTimer.cancel(); 
    myTimer = null; 

и сбросить начальное время 20000. Теперь, когда эта Activity создается снова он должен сбросить CountDownTimer объект.

+0

Но myTimer начинается с создания. И вы говорите, что myTimer отменит создание. Это ошибка. –

+0

Почему вы запускаете таймер, а затем переключаете «Действия»? Может быть, я не понимаю, что вы делаете. – codeMagic

+0

ActivityA запускает таймер. Когда таймер закончит, вызовите ActivityC. Но до окончания таймера. Когда я запускаю ActivityB, счетчик таймера и таймер заканчиваются в ActivityB, он вызывает ActivityC. –

Смежные вопросы