Android倒計時功能的實現(CountDownTimer)

以前編程的時候,遇到倒計時的功能時,經常自己去寫,但其實Android已經幫封裝好瞭一個倒計時類CountDownTimer,其實是將後臺線程的創建和Handler隊列封裝成為瞭一個方便的類調用。

說明:
CountDownTimer timer = new CountDownTimer(30000, 1000)中,第一個參數表示總時間,第二個參數表示間隔時間。
意思就是每隔一秒會回調一次方法onTick,然後30秒之後會回調onFinish方法。


package com.androidcountdowntimer2;

import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.TextView;
/**
 * Android倒計時功能的實現(CountDownTimer)
 * @author zhongyao
 *
 */
public class MainActivity extends Activity {

	private MyCount mc;  
    private TextView tv;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        tv = (TextView)findViewById(R.id.show);  
        mc = new MyCount(30000, 1000);  
        mc.start();  
    }
  
    /*定義一個倒計時的內部類*/  
    class MyCount extends CountDownTimer {     
        public MyCount(long millisInFuture, long countDownInterval) {     
            super(millisInFuture, countDownInterval);     
        }     
             
        @Override     
        public void onTick(long millisUntilFinished) {  
             tv.setText("請等待:" + millisUntilFinished / 1000 + "秒...");     
        }    
        
        @Override     
        public void onFinish() {     
            tv.setText("finish");        
        }
    }  
    
    @Override  
    protected void onDestroy() {  
        super.onDestroy();  
        mc.cancel();  
    } 
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。