public void start(long millisecond) {
        if (millisecond <= 0) return;

        mPreviousIntervalCallbackTime = 0;

        if (null != mCustomCountDownTimer) {
            mCustomCountDownTimer.stop();
            mCustomCountDownTimer = null;
        }

        long countDownInterval;
        if (mCountdown.isShowMillisecond) {
            countDownInterval = 10;
            updateShow(millisecond);
        } else {
            countDownInterval = 1000;
        }

        mCustomCountDownTimer = new CustomCountDownTimer(millisecond, countDownInterval) {
            @Override
            public void onTick(long millisUntilFinished) {
                updateShow(millisUntilFinished);
            }

            @Override
            public void onFinish() {
                // countdown end
                allShowZero();
                // callback
                if (null != mOnCountdownEndListener) {
                    mOnCountdownEndListener.onEnd(CountdownView.this);
                }
            }
        };
        mCustomCountDownTimer.start();
    }
public void start ( long millisecond ) { if ( millisecond <= 0 ) return ; mPreviousIntervalCallbackTime = 0 ; if ( null != mCustomCountDownTimer ) { mCustomCountDownTimer . stop ( ) ; mCustomCountDownTimer = null ; } long countDownInterval ; if ( mCountdown . isShowMillisecond ) { countDownInterval = 10 ; updateShow ( millisecond ) ; } else { countDownInterval = 1000 ; } mCustomCountDownTimer = new CustomCountDownTimer ( millisecond , countDownInterval ) { @ Override public void onTick ( long millisUntilFinished ) { updateShow ( millisUntilFinished ) ; } @ Override public void onFinish ( ) { allShowZero ( ) ; if ( null != mOnCountdownEndListener ) { mOnCountdownEndListener . onEnd ( CountdownView . this ) ; } } } ; mCustomCountDownTimer . start ( ) ; }
start countdown
@param millisecond millisecond