从扩展 CountDownTimer class 调用 Activity
Call an Activity from an extend CountDownTimer class
我在 45 分钟内 CountDownTimer
延长了 class。
我想在 CountDownTimer
完成时(在 onFinish
中)调用一个新的 Activity
,无论用户在哪里(Activity
或 Fragment
)。
我该怎么做?
这是我的计数器 class :
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();
您只需将一个 Context 发送到您的计数器的构造函数,将其作为属性保存在您的计数器中,然后像这样调用您的计数器:
Counter counterClass = Counter.initInstance(getApplicationContext());
counterClass.start();
然后在结束时您可以正常开始 activity:
context.startActivity()
我在 45 分钟内 CountDownTimer
延长了 class。
我想在 CountDownTimer
完成时(在 onFinish
中)调用一个新的 Activity
,无论用户在哪里(Activity
或 Fragment
)。
我该怎么做?
这是我的计数器 class :
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();
您只需将一个 Context 发送到您的计数器的构造函数,将其作为属性保存在您的计数器中,然后像这样调用您的计数器:
Counter counterClass = Counter.initInstance(getApplicationContext());
counterClass.start();
然后在结束时您可以正常开始 activity:
context.startActivity()