最简单 5秒跳转 Handler

//5秒后跳转
        new Handler(new Handler.Callback() {
            @Override
            public boolean handleMessage(Message arg0) {
                // TODO Auto-generated method stub
                //跳转新页面
                Intent intent = new Intent(MainActivity.this,
                        ErMainActivity.class);
                startActivity(intent);
                finish();//关闭此页面
                return false;
            }
        }).sendEmptyMessageDelayed(0, 5000);//5000:停留时间

 private TextView textView;

private static int TIME = 5;
    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case 1:
                    TIME--;
                    textView.setText(TIME + "s");
                    if (TIME > 0) {
                        Message message = handler.obtainMessage(1);
                        handler.sendMessageDelayed(message, 1000);      // send message
                    } else {
                        //跳转到主界面
                        goHome();
                    }
            }
            super.handleMessage(msg);
        }
    };

  textView = (TextView) findViewById(R.id.textView);
 Message message = handler.obtainMessage(1);
        handler.sendMessageDelayed(message, 1000);

 private void goHome() {
//        Intent intent = new Intent(SplashActivity.this, MainActivity.class);
//        startActivity(intent);
//        finish();
        Log.d("MainActivity", "完毕");
        Toast.makeText(this, "完毕", Toast.LENGTH_SHORT).show();
    }

//这个用rxjava2的CompositeDisposable

  CompositeDisposable mCompositeDisposable = new CompositeDisposable();
  mCompositeDisposable.add(countDown(3).doOnSubscribe(new Consumer<Disposable>() {
            @Override
            public void accept(@NonNull Disposable disposable) throws Exception {
                tvSkip.setText("跳过 4");
            }
        }).subscribeWith(new DisposableObserver<Integer>() {
            @Override
            public void onNext(Integer integer) {
                tvSkip.setText("跳过 " + (integer + 1));
            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onComplete() {
                toMain();
            }
        }));
 @Override
    protected void onDestroy() {
        if (mCompositeDisposable != null) {
            mCompositeDisposable.dispose();
        }
        super.onDestroy();
    }

    private void toMain() {
        if (mCompositeDisposable != null) {
            mCompositeDisposable.dispose();
        }
        Intent intent = new Intent();
        intent.setClass(WelcomeActivity.this, MainActivity.class);
        startActivity(intent);
        finish();
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值