2017-03-08 3 views
0

45 분 동안 CountDownTimer 확장 클래스가 있습니다. 사용자가 (Activity 또는 Fragment) 인 경우 CountDownTimer이 완료되면 (onFinish) 새 Activity을 부르고 싶습니다.CountDownTimer 확장 클래스에서 활동 호출

어떻게하면됩니까? 나는이 같은 내 카운터 전화

public class Counter extends CountDownTimer { 

    private static long millis; 
    private static Counter instance; 

    private Counter(long millisInFuture, long countDownInterval){ 
     super(millisInFuture,countDownInterval); 
    } 

    public static Counter initInstance(){ 
     instance = new Counter(2700000, 1000); 
     return instance; 
    } 

    public static Counter getInstance() throws Exception{ 
     if(instance==null){ 
      throw new Exception("Parameters not initialized. Initiate with initInstance"); 
     } else{ 
      return instance; 
     } 
    } 

    public boolean isFinish(){ 
     return millis <= 0; 
    } 


    @Override 
    public void onTick(long l) { 
     millis = l; 
    } 

    @Override 
    public void onFinish() { 
     // THIS IS WHERE I WANT TO CALL A NEW ACTIVITY ! 
    } 
} 

:

내 카운터 클래스입니다

Counter counterClass = Counter.initInstance(); 
counterClass.start(); 

답변

1
당신은 당신의 카운터에 저장, 당신의 카운터의 생성자에 컨텍스트를 보낼 필요가

다음과 같이 카운터를 호출하십시오.

Counter counterClass = Counter.initInstance(getApplicationContext()); 
counterClass.start(); 

그리고 나서 완료 활동을 정상적으로 시작할 수 있습니다 :

context.startActivity()