注册用户倒计时

/**
 * 倒计时
 */
public class TimeModel {

    private long millsecond;
    private long count = 0;// 剩余时间
    private CountDownTimer countTime;

    private Button button;

    public TimeModel(Button btn, long millsec) {
        this.millsecond = millsec;
        this.button = btn;
        countTime = new CountDownTimer(millsecond, 1000) {

            @Override
            public void onTick(long millisUntilFinished) {
                count = millisUntilFinished;
                button.setText(button.getContext().getString(R.string.seconds_resent, millisUntilFinished / 1000));
            }

            @Override
            public void onFinish() {
                button.setEnabled(true);
                button.setBackgroundResource(R.drawable.blue_border_bg);
                button.setText("重新发送");
            }
        };
    }

    private Activity act;
    private TextView tv;
    private long show;

    /**
     * 延时返回主界面
     *
     * @param activity
     * @param textView
     * @param sec
     * @param showTime
     */
    public TimeModel(Activity activity, TextView textView, long sec, long showTime) {
        this.millsecond = sec;
        this.act = activity;
        this.tv = textView;
        this.show = showTime;
        countTime = new CountDownTimer(millsecond, 1000) {

            @Override
            public void onTick(long millisUntilFinished) {
                count = millisUntilFinished;
                if (millisUntilFinished <= show) {
                    tv.setVisibility(View.VISIBLE);
                    tv.setText("倒计时:" + millisUntilFinished / 1000);
                } else {
                    tv.setVisibility(View.GONE);
                }
            }

            @Override
            public void onFinish() {
            }
        };
    }

    public TimeModel(Activity activity, long sec, long showTime) {
        this.millsecond = sec;
        this.act = activity;
        this.show = showTime;
        countTime = new CountDownTimer(millsecond, 1000) {

            @Override
            public void onTick(long millisUntilFinished) {
                count = millisUntilFinished;
            }

            @Override
            public void onFinish() {
            }
        };
    }

    public void startTime() {
        if (button != null) {
            button.setEnabled(false);
        }
        countTime.start();
    }

    public void RestartTimeCount() {
        // LogUtil.debug("TimeModel", "RestartTimeCount1"+millsecond+" "+count);
        if (millsecond - count > 2000) {
            // LogUtil.debug("TimeModel", "RestartTimeCount2"+millsecond+" "+count);
            countTime.cancel();
            startTime();
        }
    }

    public void endTime() {
        countTime.cancel();
        // countTime=null;
    }
}

 

转载于:https://www.cnblogs.com/xinmengwuheng/p/5832595.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值