RxBinding 只能点击了一次

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() {
@Override
public void call(Void aVoid) {
startActivity();
}
}, new Action1() {
@Override
public void call(Throwable throwable) {
Timber.d(throwable);
}
});

你可能感兴趣的:(RxBinding 只能点击了一次)