После onError
мои наблюдаемые остановки работают. Как я могу избежать этого?Как избежать наблюдаемой остановки после onError
Вот мои автозаполнения наблюдаемый и подписка код:
public void subscribeAutoComplete() {
autoSubscription = RxTextView.textChangeEvents(clearableEditText)
.skip(1)
.map(textViewTextChangeEvent -> textViewTextChangeEvent.text().toString())
.filter(s -> s.length() > 2)
.debounce(400, TimeUnit.MILLISECONDS)
.flatMap(text -> autoCompleteService.getAutoCompleteTerms(text)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()))
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<String>>() {
@Override
public void onCompleted() {
Log.d("rx", "oncomplete");
}
@Override
public void onError(Throwable t) {
Log.e("rx", t.toString());
}
@Override
public void onNext(List<String> strings) {
autoAdapter = new ArrayAdapter<>(MainActivity.this,
android.R.layout.simple_dropdown_item_1line, strings);
clearableEditText.setAdapter(autoAdapter);
clearableEditText.showDropDown();
}
});
compositeSubscriptions.add(autoSubscription);
}
Что именно вы хотите сделать, если произошла ошибка? –
Просто пренебрегайте им и двигайтесь дальше. Это автозаполнение. Например, когда нет сетевого подключения, вызывается onError и наблюдаемые остановки. Я хочу, чтобы он излучал, когда сетевое соединение вернулось. –
Я не слишком хорошо разбираюсь в RxJava, но звучит как «retryWhen». https://github.com/ReactiveX/RxJava/wiki/Error-Handling-Operators –