Наблюдаемый - подпишитесь двумя способами

У меня есть Observable лайк:

  Observable<Integer> dropdownChange =     ReactiveUIObservables.selectionChange(myDropdown)

Теперь у меня есть:

  LifecycleObservable.bindFragmentLifecycle(lifecycle(), dropdownChange)
    .ObserveOn(AndroidSchedulers.mainThread))
    .SubscribeOn(AndroidSchedulers.mainThread())
    .subscribe(this::onDropdownChange);

И это работает, теперь после DropdownChange Я хочу запустить другой метод на selectionChange, Как это сделать?

2 ответа

Ты можешь использовать subscribe для вызова нескольких методов. Например

subscribe(myValue -> {
      onDropdownChange(myValue); 
      // call the other method 
});

Если все ваши подписчики должны получать одинаковые события, вы можете использовать ConnectableObservable. События не будут генерироваться, пока вы не вызовете.connect().

Observable<Integer> dropdownChange = ReactiveUIObservables.selectionChange(myDropdown);
ConnectableObservable<Integer> connectableDropdownChange = dropdownChange.publish();

connectableDropdownChange.subscribe(this::onDropdownChange);
connectableDropdownChange.subscribe(this::doSomething);
connectableDropdownChange.subscribe(this::doSomethingElse);

// start emitting events
connectableDropdownChange.connect();
Другие вопросы по тегам