RxJava 解除订阅---------Disposable.dispose()方法
生活随笔
收集整理的這篇文章主要介紹了
RxJava 解除订阅---------Disposable.dispose()方法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
有時(shí)候我們需要解綁訂閱,或者取消訂閱,?
這個(gè)時(shí)候就使用到了 Disposable.dispose()方法下面以一個(gè)案例說下使用方法
//Disposable.dispose()切斷觀察者 與 被觀察者 之間的連接findViewById(R.id.rx_break_link).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//創(chuàng)建被觀察者 & 生產(chǎn)事件//create()作用是創(chuàng)建被觀察者對(duì)象,是最基本的操作符,只有創(chuàng)建//just()作用不能能創(chuàng)建還能發(fā)射對(duì)象等會(huì)通過案例對(duì)比下Observable.create(new ObservableOnSubscribe<String>() {@Overridepublic void subscribe(ObservableEmitter<String> emitter) {emitter.onNext("哈嘍! Rxjava");emitter.onNext("嗨! Rxjava");emitter.onNext("喂! Rxjava");emitter.onComplete();}//subscribe訂閱者連接觀察者和被觀察者//Observer 創(chuàng)建觀察者 & 定義響應(yīng)事件的行為}).subscribe(new Observer<String>() {@Overridepublic void onSubscribe(Disposable d) {mDisposable = d;//對(duì)Disposable類變量賦值Log.d("-----rxjava", "開始采用subscribe連接");}@Overridepublic void onNext(String s) {if (s.equals("嗨! Rxjava")){mDisposable.dispose();}Log.d("-----rxjava", "對(duì)Next事件作出響應(yīng):" + s);}@Overridepublic void onError(Throwable e) {Log.d("-----rxjava", "對(duì)Error事件作出響應(yīng)" + e);}@Overridepublic void onComplete(){Log.d("-----rxjava", "對(duì)onComplete事件作出響應(yīng):RxJava認(rèn)識(shí)完成");}});}});
解綁之后效果圖
?
沒有解綁點(diǎn)擊的效果圖
總結(jié)
以上是生活随笔為你收集整理的RxJava 解除订阅---------Disposable.dispose()方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拔牙需要多少钱
- 下一篇: RxJava debounce()和t