Sto usando RxJava e RxBindings per la visualizzazione in Android. di seguito è un esempio di ciò che sto facendo.RxJava/RxBinding: come gestire gli errori su RxView
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");
});
quando clicco su MyButton, io uso flatMap di tornare un'altra osservabile, che è una chiamata di rete e può restituire il successo o l'errore. quando restituisce un errore lo gestisco nel blocco di errore. ma non riesco a fare nuovamente clic sul pulsante.
Come posso gestire l'errore ed essere ancora in grado di fare nuovamente clic sul pulsante?
Sto usando Retrofit quindi non posso controllare la rete osservabile e sì sto usando attualmente 'onErrorResumeNext' ma il problema è che posso solo restituire un osservabile dello stesso tipo e non posso restituire nessun altro tipo di oggetto. e questo è quello che non mi piace di 'onErrorResumeNext' –
Solo perché stai usando Retrofit non significa che devi usare i suoi metodi Osservabili. Puoi racchiudere una chiamata sincrona di Retrofit nel tuo Osservabile. – GreyBeardedGeek