• 点击button倒计时


    首先创建一个类  放在工具包中

    import android.os.CountDownTimer;
    import android.widget.Button;

    public class CountDownButtonUtils {

        private CountDownTimer countDownTimer;
        private OnFinishListener listener;
        private Button button;

        public CountDownButtonUtils(final Button button,
                final String defaultString, int max, int interval) {

            this.button = button;
            if (max == 0 && interval == 0) {
                button.setText(defaultString);
                return;
            }
            countDownTimer = new CountDownTimer(max * 1000, interval * 1000 - 10) {
                @Override
                public void onTick(long time) {
                    button.setText("(" + ((time + 15) / 1000) + "秒)"
                            + defaultString);
                }

                @Override
                public void onFinish() {
                    button.setEnabled(true);
                    button.setText(defaultString);
                    if (listener != null) {
                        listener.finish();
                    }
                }
            };
        }

        public void start() {
            button.setEnabled(false);
            countDownTimer.start();
        }

        /**
         * 关闭倒计时,不可点击
         */
        public void cancel(boolean isEnabled) {
            countDownTimer.cancel();
            if (isEnabled) {
                button.setEnabled(isEnabled);
            }
        }

        public void setOnFinishListener(OnFinishListener listener) {
            this.listener = listener;
        }

        public interface OnFinishListener {
            public void finish();
        }

    }

    然后 当那个button需要倒计时时  实例化这个类   类.start();开始倒计时

  • 相关阅读:
    Docker & ASP.NET Core (3):发布镜像
    Docker & ASP.NET Core (2):定制Docker镜像
    Docker & ASP.NET Core (1):把代码连接到容器
    Redis五大数据类型的常用操作
    centos安装Redis
    SpringBoot进阶教程(五十一)Linux部署Quartz
    mybatis在xml文件中处理转义字符
    org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.lang.Integer
    SpringBoot进阶教程(五十)集成RabbitMQ---MQ实战演练
    浅谈RabbitMQ Management
  • 原文地址:https://www.cnblogs.com/cuizhe/p/5287076.html
Copyright © 2020-2023  润新知