2012-03-06 5 views
0

나는이 같은 내 응용 프로그램 설정에 CountDownTimer이 : 버튼을 누를 때 타이머 onFinish를 호출 할 수 있도록카운트 다운 시계 방법

new CountDownTimer(11000, 1000) { 

    public void onTick(long millisUntilFinished) { 
     clock.setText("Seconds Remaining: " + millisUntilFinished/1000); 
     secsrem = (int) millisUntilFinished/1000; 
    } 

    public void onFinish() { 
     //...} 
    }.start(); 

내가 내 응용 프로그램에서 다른 방법으로 onFinish 방법에 접근 할 필요가 방법. 내가 어떻게 할까?

답변

1

그냥 변수에 타이머를 저장 :

public class YourClass { 

public CountDownTimer timer = null; 

... 
timer = new CountDownTimer(11000, 1000) { 

     public void onTick(long millisUntilFinished) { 
      clock.setText("Seconds Remaining: " + millisUntilFinished/1000); 
      secsrem = (int) millisUntilFinished/1000; 
     } 

     public void onFinish() { 
      //...} 
     } 

timer.start(); 
... 

그런 다음 당신이 할 수 있습니다

timer.onFinish(); 

을, BTW 난 당신이 자신을 onFinish 호출하지한다고 생각합니다, 그것은 시스템에 의해 호출 될 때 시간이 다되었다. 같이, 나는 변수에 타이머를 저장 한 난 여전히 오류를 받고 있어요

timer.cancel(); 
+0

을하지만 난 때와) (timer.onFinish를 호출; 당신은 타이머를 취소하려면 대신 사용 그것은 해결 될 수 없다고 말합니다. – nexus490

+0

조금 더 설명해 드리겠습니다. 수학 표현식을 보여주는 앱이 있는데, 사용자는 10 초 내에 질문에 답할 수 있습니다. 그들이 # 키를 누르면 대답이 확인되고 다음 질문이 표시되지만 사용자가 시간이 없으면 다음 질문으로 이동합니다. – nexus490

+0

'timer' 변수는 호출하는 곳에서 액세스 할 수 있는지 확인하십시오. 내 편집 된 답변보기 – Caner