Timer计时器实现倒计时跳转

本文介绍如何在Android中使用Timer和Handler实现倒计时功能,并在倒计时结束后跳转到新的Activity。通过创建TimerTask,设置定时发送消息更新倒计时文本,当时间减为0时启动跳转操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    /**
     * 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();
        }
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值