您的位置:首页 > 移动开发 > Android开发

android倒计时

2016-05-23 10:29 489 查看
     好久没写文章了,就随便记录点东西上来吧。嗯,写个android的倒计时吧,其实网上有很多的方式,我也看过一些,

比如
Android实现计时与倒计时(限时抢购)的几种方法

其实这篇文章列举的方法和说明都算比较清晰了吧,但是这几个方法都只是写了如何实现计时,对于如何停止,恕本人愚昧,没有在文中看到,要知道计时如果不想占用UI主线程的话就得自己另开一个子线程,而开了线程总不能一直挂在那里吧,一开始我使用stop()方法,额,发现这个方法貌似被抛弃了?经过百毒,好吧,都在说stop()方式结束线程不安全,然后我就继续的找文章 - -(毕竟水平有限...)。

   
Android java 中如何优雅的结束线程  文中说了三种方式,第三种方式stop()我看到eclipse里面的代码删除线就不舒服!!!

    interrupt()我试着用了一下,然而这个方法用了之后感觉也比较麻烦......

    然后我就在代码中定义了一个结束标识,使用结束标识来停止线程,具体代码如下

// 计时器停止标识
private boolean stopFlag = false;

 private int timer = 0;

/**
    * 计时器
    */
    Handler timerHandler = new Handler();

    Runnable timerRunnable = new Runnable() {

        @Override
        public void run() {
            // TODO 自动生成的方法存根
            if (stopFlag == false) {
                timer++;
                L.d(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + timer);
                timerHandler.postDelayed(this, 1000);
                 //这里写的是一些我自己需要处理的东西
            } else {
                // 停止
                L.d(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + "停止");
                return;
            }

        }
    };
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: