Наблюдаемый - подпишитесь двумя способами
У меня есть 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();