У меня есть Observable, как этот
Observable<String> gitHubRepoModelObservable;
У меня есть этот код
repoNames = new ArrayList<String>();
gitHubRepoModelObservable = Observable.fromIterable(repoNames);
repoNames.add("Hello");
gitHubRepoModelObservable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
System.out.println(s);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
repoNames - это просто список строк.Когда я добавляю строку «привет» вручную, вызывается onNext, но когда я добавляю строку из вызова API, как показано ниже
call.enqueue(new Callback<List<GitHubRepoModel>>() {
@Override
public void onResponse(Call<List<GitHubRepoModel>> call, Response<List<GitHubRepoModel>> response) {
for (GitHubRepoModel repo : response.body()) {
repoNames.add(repo.getName());
}
}
@Override
public void onFailure(Call<List<GitHubRepoModel>> call, Throwable t) {
}
});
, я добавляю строки из API в repoNames «onNext»не вызывается.
Я видел, что
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
можно добавить при инициализации модификации, но я хочу лучше понять rxjava, поэтому в этом эксперименте он не работает.
Пожалуйста, помогите!