定时器加回调监听

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();
            }
        });
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
注意: Node.js MongoDB AngularJSWeb开发((中文版))pdf 由于文件比较大,次分为三部分上传,下载好三部分之后,放在同一个文件夹下,进行解压即可,另外两部分地址为: part2:http://download.csdn.net/detail/u010870518/9539548 part3:http://download.csdn.net/detail/u010870518/9539542 第1部分 引 言 第1章 介绍Node.js-to-AngularJS套件 3 1.1 了解基本的Web开发框架 3 1.1.1 用户 4 1.1.2 浏览器 4 1.1.3 Web服务器 6 1.1.4 后端服务 6 1.2 了解Node.js-to-AngularJS套件组件 7 1.2.1 Node.js 7 1.2.2 MongoDB 8 1.2.3 Express 9 1.2.4 AngularJS 9 1.3 小结 10 1.4 下一章 10 第2章 JavaScript基础 11 2.1 定义变量 11 2.2 了解JavaScript数据类型 12 2.3 使用运算符 13 2.3.1 算术运算符 13 2.3.2 赋值运算符 14 2.3.3 运用比较和条件运算符 14 2.4 实现循环 16 2.4.1 while循环 17 2.4.2 do/while循环 17 2.4.3 for循环 17 2.4.4 for/in循环 18 2.4.5 中断循环 19 2.5 创建函数 19 2.5.1 定义函数 20 2.5.2 传递变量给函数 20 2.5.3 从函数返回值 20 2.5.4 使用匿名函数 21 2.6 理解变量作用域 22 2.7 使用JavaScript对象 22 2.7.1 使用对象语法 23 2.7.2 创建自定义对象 23 2.7.3 使用原型对象模式 24 2.8 处理字符串 25 2.8.1 合并字符串 26 2.8.2 在字符串中搜索子串 26 2.8.3 在一个字符串中替换单词 27 2.8.4 将字符串分割成数组 27 2.9 使用数组 27 2.9.1 合并数组 28 2.9.2 遍历数组 29 2.9.3 将数组转换为字符串 29 2.9.4 检查数组是否包含某个条目 29 2.9.5 在数组中添条目和删除条目 30 2.10 添错误处理 30 2.10.1 try/catch块 30 2.10.2 抛出你自己的错误 31 2.10.3 使用finally 31 2.11 小结 32 2.12 下一章 32 第2部分 学习Node.js 第3章 开始使用Node.js 35 3.1 了解Node.js 35 3.1.1 谁在使用Node.js 35 3.1.2 Node.js的用途 36 3.2 Node.js安装 36 3.2.1 纵观Node.js安装位置 36 3.2.2 验证Node.js可执行文件 37 3.2.3 选择Node.js IDE 37 3.3 使用Node.js包 38 3.3.1 什么是Node封装模块 38 3.3.2 了解Node包注册表 38 3.3.3 使用Node包管理器 38 3.3.4 搜索Node封装模块 39 3.3.5 安装Node封装模块 40 3.3.6 使用package.json 41 3.4 创建Node.js应用程序 43 3.4.1 创建Node.js模块封装 43 3.4.2 将一个Node.js封装模块发布到NPM注册表 45 3.4.3 在Node.js应用程序中使用Node.js封装模块 46 3.5 将数据写入控制台 47 3.6 小结 49 3.7 下一章 49 第4章 在Node.js中使用事件、监听器、定时器回调 51 4.1 了解Node.js事件模型 51 4.1.1 比较事件回调和线程模型 51 4.1.2 在Node.js中阻塞I/O 52 4.1.3 会话示例 54 4.2 将工作添到事件队列 54 4.2.1 实现定时器 55 4.2.2 使用nextTick来调度工作 58 4.2.3 实现事件发射器和监听器 59 4.3 实现回调 62 4.3.1 向回调函数传递额外的参数 63 4.3.2 在回调实现闭包 64 4.3.3 链式回调 65 4.4 小结 66 4.5 下一章 66 第5章 在Node.js中处理数据I/O 67 5.1 处理JSON 67 5.1.1 把JSON转换成JavaScript对象 67 5.1.2 把JavaScript对象转换为JSON 68 5.2 使用Buffer模块缓冲数据 68 5.2.1 了解缓冲数据 69 5.2.2 创建缓冲区 69 5.2.3 写入缓冲区 70 5.2.4 从缓冲区读取 71 5.2.5 确定缓冲区长度 72 5.2.6 复制缓冲区 73 5.2.7 对缓冲区切片 74 5.2.8 拼接缓冲区 75 5.3 使用Stream模块来传送数据 76 5.3.1 Readable流 76 5.3.2 Writable流 78 5.3.3 Duplex流 81 5.3.4 Transform流 82 5.3.5 把Readable流用管道输送到Writable流 84 5.4 用Zlib压缩与解压缩数据 85 5.4.1 压缩和解压缩缓冲区 85 5.4.2 压缩/解压缩流 87 5.5 小结 88 5.6 下一章 88 第6章 从Node.js访问文件系统 89 6.1 同步和异步文件系统调用 89 6.2 打开和关闭文件 90 6.3 写入文件 91 6.3.1 简单文件写入 91 6.3.2 同步文件写入 92 6.3.3 异步写入文件 93

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值