/** * android中的计时器:----Timer * 1:timer+handler * 2: * */ public class MainActivity extends Activity { private TextView text_time; int times = 5; private Handler handler = new Handler() { public void handleMessage(android.os.Message msg) { if (msg.what == 1) { int time = (Integer) msg.obj; //判断时间是否符合逻辑 if (time>0) { text_time.setText(time + "s后跳转"); }else { //直接进行跳转 Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent); timer.cancel(); finish(); } } }; }; private Timer timer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 找控件 text_time = (TextView) findViewById(R.id.text_time); timer = new Timer(); // timer.schedule(task, when)//在指定时间执行时间任务 // timer.schedule(task, delay)//延时N秒后执行时间任务 // timer.schedule(task, when, period);//在指定的时间,间隔M秒执行一次任务 // timer.schedule(task, delay, period);//延时N秒后,间隔M秒执行一次任务 TimerTask task = new TimerTask() { @Override public void run() { // 时间需要 --; times--; // 发送消息 Message msg = Message.obtain(); msg.obj = times; msg.what = 1; handler.sendMessage(msg); } }; timer.schedule(task, 1000, 1000); } public void tiaoZhuan(View view) { //直接进行跳转 Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent); timer.cancel(); finish(); } } }