RxBinding 为我们提供了很方便的View事件的响应转换成RxJava流,得以然我们的流任务更加一体化
我们往往会结合ExLifeCycle来使用,但是要知道当我们绑定在生命周期上的时候
场景一:
RxView.clicks(view).throttleFirst(500, TimeUnit.MILLISECONDS).compose(xxx)..subscribe(xx)
当我们执行这个事件触发了生命周期事件,rxlifecycle 会触发这个事件的unsubscrible
RxView.clicks内部就会跟着执行
subscriber.add(new MainThreadSubscription() {
@Override protected void onUnsubscribe() {
view.setOnClickListener(null);
}
});
这回导致之后就没办法再次点击
场景二:
当触发error之后,整个流就会unsubscrible
clicks(view).subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
startActivity();
}
}, new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
Timber.d(throwable);
}
});