美文网首页
RxBinding 只能点击了一次

RxBinding 只能点击了一次

作者: 逃跑的计划中 | 来源:发表于2017-11-20 19:46 被阅读0次

    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);
    }
    });

    相关文章

      网友评论

          本文标题:RxBinding 只能点击了一次

          本文链接:https://www.haomeiwen.com/subject/bvkbvxtx.html