美文网首页
RxBus 及其使用

RxBus 及其使用

作者: 勤劳的蚂蚁 | 来源:发表于2020-03-11 14:26 被阅读0次

    使用前 需集成rxjava

    使用:
     /*发送数据*/
                    RxBus.getInstance().post(new Bean());
    //接受数据
    RxBus.getInstance().toObserverable(ActivityStatus.class)
                    .subscribe(new Action1<Bean>() {
                                   @Override
                                   public void call(Bean bean) {
                                 
                                  }
                               },
                            new Action1<Throwable>() {
                                @Override
                                public void call(Throwable throwable) {
                                }
                            });
    
    public class RxBus {
    
    
        private final Subject<Object, Object> _bus;
        private static class RxBusHolder{
            private static final RxBus instance = new RxBus();
        }
    
        private RxBus() {
            _bus = new SerializedSubject<>(PublishSubject.create());
        }
    
        public static synchronized RxBus getInstance() {
            return RxBusHolder.instance;
        }
    
        public void post(Object o) {
            _bus.onNext(o);
        }
    
        public <T> Observable<T> toObserverable(Class<T> eventType) {
            return _bus.ofType(eventType);
        }
    
    }
    
    
    
    

    相关文章

      网友评论

          本文标题:RxBus 及其使用

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