2013-07-11 3 views
1

두 가지 활동이 있습니다. ActivityA에는 카운트 다운 타이머가 있습니다. ActivityA에서 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() 활동 A의 기능에 –

+0

을 MyTimer = 새로운 CountDownTimer (20000, 1000) { \t \t \t @Override를 \t \t \t 공공 무효 onFinish() \t \t \t} 중지 할 수 있습니다; \t \t \t myTimer.start(); intent mainIntent = new Intent (QRcode.this, BarcodeGecis.class); \t \t \t mainIntent.putExtras (bundle); \t QRcode.this.startActivity (mainIntent); –

답변

2

당신은

myTimer.cancel(); 
    myTimer = null; 

ActivityB를 시작하고이 Activity이 다시 당신의 CountDownTimer 객체를 재설정해야 만들 때 이제 시작 시간 20000를 재설정하기 전에.

+0

그러나 myTimer가 작성시 시작됩니다. 그리고 myTimer가 생성을 취소한다고 말하면됩니다. 그것은 오류입니다. –

+0

왜 타이머를 시작한 후 '활동'을 전환하고 있습니까? 어쩌면 내가하는 일을 이해하지 못할 수도 있습니다. – codeMagic

+0

ActivityA가 타이머를 시작합니다. Timer가 끝나면 ActivityC를 호출하십시오. 그러나 타이머가 끝나기 전에 ActivityB를 시작하면 ActivityB에서 타이머 countinue와 timer가 완료되고 ActivityC가 호출됩니다. –

관련 문제