Android計數器的實現(倒計時)

來源:互聯網
上載者:User

標籤:

安卓實現計數器有四種方式,直接給代碼

1、使用Thread+Handler

private int number = 0;private Handler handler1 = new Handler() {    @Override    public void handleMessage(Message msg) {        super.handleMessage(msg);        tvNumber.setText(msg.what + "");    }};private void counter1() {    number = 4;new Thread() {        public void run() {            while (number >= 0) {                Message msg = handler1.obtainMessage();                msg.what = number;                handler1.sendMessage(msg);                try {                    Thread.sleep(1000);                } catch (InterruptedException e) {                    e.printStackTrace();                }                number--;// 數字            }        };    }.start();}

2、僅使用Handler

private void counter2() {    Message msg = handler2.obtainMessage();    msg.what = 4;    handler2.sendMessageDelayed(msg, 1000);}Handler handler2 = new Handler() {     public void handleMessage(Message msg) {        super.handleMessage(msg);        int num = msg.what;        tvNumber.setText(num + "");        if (num > 0) {            num--;            Message message = handler2.obtainMessage();            message.what = num;            handler2.sendMessageDelayed(message, 1000);        }    };};

3、使用android.os.CountDownTimer類實現

private void counter3() {    new CountDownTimer(5000, 1000) {        public void onTick(long millisUntilFinished) {            tvNumber.setText(millisUntilFinished / 1000 + "");        }        public void onFinish() {            tvNumber.setText("0");        }    }.start();}

4、使用Timer+handler

private int number = 0;private TimerTask timerTask;private Timer timer;private void counter4() {    number = 4;    timerTask = new TimerTask() {        @Override        public void run() {            if(number >= 0){                Message msg = handler1.obtainMessage();                msg.what = number;                handler1.sendMessage(msg);                number --;            }        }    };    timer = new Timer();    timer.schedule(timerTask, 0, 1000);}

 

Android計數器的實現(倒計時)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.