2017-03-08 84 views
0

我在45分钟内有一个CountDownTimer扩展类。 当CountDownTimer完成时(在onFinish),无论用户身在何处(ActivityFragment),我想要致电新的Activity从扩展CountDownTimer类中调用活动

我该怎么做?

这是我的Counter类:

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()