package com.mycallbacklistener;
import android.os.CountDownTimer;
public class CountDownTimerUtil {
private OnFinishListener listener;
private CountDownTimer countDownTimer;
/**
*
* @param millisInFuture
* 从开始调用start()到倒计时完成并onFinish()方法被调用的毫秒数。
* @param countDownInterval
* 接收onTick(long)回调的间隔时间。(译者注:单位毫秒)
*/
public CountDownTimerUtil(long millisInFuture, long countDownInterval) {
countDownTimer = new CountDownTimer(millisInFuture, countDownInterval) {
@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
listener.finish();
}
};
}
/**
* 开始倒计时
*/
public synchronized void startTimer() {
countDownTimer.start();
}
/**
* 取消倒计时
*/
public void cancelTimer() {
countDownTimer.cancel();
}
/**
* 设置监听器
*
* @param listener
*/
public void setOnFinishListener(OnFinishListener listener) {
this.listener = listener;
}
/**
* 设置结束监听回掉接口
*
* @author dell
*
*/
public interface OnFinishListener {
public void finish();
}
}
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CountDownTimerUtil countDownTimerUtil=new CountDownTimerUtil(6000, 1000);
countDownTimerUtil.startTimer();
countDownTimerUtil.setOnFinishListener(new OnFinishListener() {
@Override
public void finish() {
Toast.makeText(MainActivity.this, "被回调了", 3).show();
}
});
}
}