欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Timer

程序员文章站 2022-05-08 10:00:25
...

//界面1
package com.example.timertask_hundler;

import java.util.Timer;
import java.util.TimerTask;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

TextView tvShow;
private int i = 5;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //第一步:找控件
    tvShow = (TextView) findViewById(R.id.tv_show);
    // 第五步开始执行任务       1s后执行task,经过1s再次执行
    //( 参数“1任务,2延迟, 3多久后执行)
    //当我们写了这一步的时候 第三步第四步才会开始执行
    timer.schedule(task, 1000, 1000);
}
//第二步创建计时器
Timer timer = new Timer();
//第三步,创建计时任务(子线程)
TimerTask task = new TimerTask() {

    @Override
    public void run() {
        // 第四步:需要做的事:发送消息
        Message message = new Message();
        message.what = 1;
        handler.sendMessage(message);
    }
};
//第五步,创建handler
Handler handler = new Handler() {
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        switch (msg.what) {
        case 1:
            //接收消息
            //每次减一
            i--;
            //把int类型转换为String
            //String str = Integer.toString(i);
            tvShow.setText(""+i);
            if (i==0) {
                //跳转
                //结束当前界面
                finish();
            }

            break;

        default:
            break;
        }

    };
};

@Override
protected void onDestroy() {
    super.onDestroy();
    //第六步结束任务,干掉计时器

    task.cancel();
    timer.cancel();

} 

}

相关标签: Timer