android 利用hangler倒計時

這裏寫圖片描述
上面一個編輯框輸入要倒計時的數字
獲取以後顯示在下面的textview上面
點擊開始,textview上的數字逐減

private TextView tvTime;
    private EditText  inputTv;
    private Button btnHQ,btnBG,btnZT;
    //用來存放倒計時的數字
    private int i;
    private Timer timer;
    private TimerTask task;
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
String time = inputTv.getText().toString();
tvTime.setText(time);
i = Integer.parseInt(time);
break;
case R.id.button2:
start();
break;
case R.id.button3:
timer.cancel();
break;
}
}
Handler mHandler = new Handler(){
        public void handleMessage(android.os.Message msg) {
            tvTime.setText(msg.arg1+"");    
            //等於零的時候不在自減
            if(msg.arg1==0){
                timer.cancel();
            }else{
            start();
            }
            };
    };
private void start() {
        timer = new Timer();
        task = new TimerTask() {
            @Override
            public void run() {
                i--;
                Message msg = mHandler.obtainMessage();
                //將i放入msg裏面
                msg.arg1 = i;
                mHandler.sendMessage(msg);
            }
        };
        //一定要記得部署這個方法
        timer.schedule(task, 1000);
    }
發佈了50 篇原創文章 · 獲贊 2 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章