Rxjava не отображает данныеAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Rxjava не отображает данные

Сообщение Anonymous »

Я новичок в Rxjava. Я реализовал его в своем проекте, но он не получает данные и не отображал их. В чем проблема?public LiveData makeApiCallTopArticles() {

final MutableLiveData mediumObjectsList = new MutableLiveData();
mediumObjectsList.setValue(Resource.loading());
APIService apiService = RetroInstant.getRetroMediumClient().create(APIService.class);
Observable observable = apiService.getNewsObjectsList("http://rss.cnn.com/rss/cnn_topstories.rss",
"", "25");

Observer observer = new Observer() {
@Override
public void onSubscribe(Disposable d) {

}

@Override
public void onNext(CnnResponse value) {
List articles = new ArrayList();
assert value != null;
List responce = value.getItems();
for (int i = 0; i < Objects.requireNonNull(responce).size(); i ++) {
if (!Objects.equals(Objects.requireNonNull(responce.get(i).getEnclosure()).getLink(), null) && !Objects.equals(responce.get(i).getTitle(), "")) {
articles.add(responce.get(i));
}
}
mediumObjectsList.postValue(Resource.success(articles));
}

@Override
public void onError(Throwable e) {

}

@Override
public void onComplete() {

}
};
observable.subscribe(observer);
return mediumObjectsList;
}
< /code>
Просмотр модели перед добавлением rxjava: < /p>
public LiveData makeApiCallTopArticles() {
final MutableLiveData mediumObjectsList = new MutableLiveData();
mediumObjectsList.setValue(Resource.loading());
APIService apiService = RetroInstant.getRetroMediumClient().create(APIService.class);
Call call = apiService.getNewsObjectsList("http://rss.cnn.com/rss/cnn_topstories.rss",
"", "25");
call.enqueue(new Callback() {
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) {
List articles = new ArrayList();
assert response.body() != null;
List responce = response.body().getItems();
for (int i = 0; i < Objects.requireNonNull(responce).size(); i ++) {
if (!Objects.equals(Objects.requireNonNull(responce.get(i).getEnclosure()).getLink(), null) && !Objects.equals(responce.get(i).getTitle(), "")) {
articles.add(responce.get(i));
}
}
mediumObjectsList.postValue(Resource.success(articles));

}

@Override
public void onFailure(@NotNull Call call, @NotNull Throwable t) {
mediumObjectsList.setValue(Resource.error(t.getMessage() != null ? t.getMessage() : "Unknown Error"));
}
});

return mediumObjectsList;
}


Подробнее здесь: https://stackoverflow.com/questions/681 ... g-the-data
Ответить

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

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

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

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

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