下面是使用Rxjava做倒计时跳转页面,首先导入依赖:
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
public class MainActivity extends AppCompatActivity { private Disposable mDisposable;//用于解除订阅 private TextView text_time; private int time=3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text_time = findViewById(R.id.text_time); Observable observable = Observable.interval(1, TimeUnit.SECONDS); observable.create(new ObservableOnSubscribe<Object>() { @Override public void subscribe(ObservableEmitter<Object> e) throws Exception { e.onNext(01); } }); Observer observer = new Observer() { @Override public void onSubscribe(Disposable d) { mDisposable=d; } @Override public void onNext(Object value) { time--; text_time.setText(time+"s"); if (time==0){ if (mDisposable!=null){ mDisposable.dispose(); } startActivity(new Intent(MainActivity.this,HomeActivity.class)); finish(); } } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }; observable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(observer); } @Override protected void onDestroy() { super.onDestroy(); if (mDisposable!=null){ mDisposable.dispose(); } } }