Есть ли способ реорганизовать этот код RxJava?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли способ реорганизовать этот код RxJava?

Сообщение Anonymous »

У меня есть подписка Observable, которая выглядит так:

Код: Выделить всё

      compositeDisposables.add(githubService.getRepos()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
(List value) -> {
if (!value.isEmpty()) {
ArrayAdapter adapter = new
ArrayAdapter
(MainActivity.this,

android.R.layout.simple_spinner_dropdown_item, value);
reposSpinner.setAdapter(adapter);
reposSpinner.setEnabled(true);
} else {
showEmptyRepoAdapterState();
}
},
(Throwable e) -> {
e.printStackTrace();
Toast.makeText(this, "Cannot load repositories", Toast
.LENGTH_SHORT).show();
}));
Есть ли способ выделить весь код метода subscribe() в отдельный метод? Я пробовал это сделать:

Код: Выделить всё

private DisposableSingleObserver getRepos(){
return (List value) -> {
if (!value.isEmpty()) {
ArrayAdapter adapter = new ArrayAdapter
(MainActivity.this,
android.R.layout.simple_spinner_dropdown_item, value);
reposSpinner.setAdapter(adapter);
reposSpinner.setEnabled(true);
} else {
showEmptyRepoAdapterState();
}
},
(Throwable e) -> {
e.printStackTrace();
Toast.makeText(this, "Cannot load repositories", Toast
.LENGTH_SHORT).show();
};
};
Но я получаю сообщение об ошибке: целевой тип лямбда-преобразования должен быть интерфейсом.

Итак, есть ли способ реорганизовать этот код?? Как мне вообще узнать ожидаемую возвращаемую стоимость?

Подробнее здесь: https://stackoverflow.com/questions/466 ... xjava-code
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»