Я использую RxJava и RxBindings для просмотра в Android. Ниже приведен пример того, что я делаю.
RxView.clicks(btMyButton).flatMap(btn -> {
// another observable which can throw onError.
return Observable.error(null);
}).subscribe(object -> {
Log.d("CLICK", "button clicked");
}, error -> {
Log.d("CLICK", "ERROR");
});
когда я нажимаю MyButton, я использую flatMap для возврата другого наблюдаемого объекта, который является сетевым вызовом и может возвращать успех или ошибку. когда он возвращает ошибку, я обрабатываю ее в блоке ошибок. но я не могу нажать кнопку еще раз.
Как я могу обработать ошибку и по-прежнему иметь возможность снова нажать на кнопку?