2017-01-12 12 views
5

Tam jest od sposobu w obserwowalnym klasy w rxjava 1, ale nie znaleziono w rxjava 2. Jak mogę wymienić od sposobu w rxjava 2 w następującym kodzie:Nie można rozwiązać metodą Observable.from w rxjava 2

List<Integer> ints = new ArrayList<>(); 
    for (int i=1; i<10; i++) { 
     ints.add(new Integer(i)); 
    } 
    Observable.just(ints) 
      .flatMap(new Function<List<Integer>, Observable<Integer>>() { 
       @Override 
       public Observable<Integer> apply(List<Integer> ints) { 
        return Observable.from(ints); 
       } 
      }) 

Odpowiedz

10

można użyć Observable.fromIterable(source)

Od documentation:

Niektóre przeciążenia operatora zostały przemianowane z zakończeniem, takich jak fromArray, fromIterable Powodem tego jest fakt, że gdy biblioteka jest kompilowana przy pomocy Java 8, javac często nie może rozróżniać między różnymi typami interfejsów funkcjonalnych: .

List<Integer> ints = new ArrayList<>(); 
for (int i=1; i<10; i++) { 
    ints.add(new Integer(i)); 
} 
Observable.just(ints) 
     .flatMap(new Function<List<Integer>, Observable<Integer>>() { 
      @Override 
      public Observable<Integer> apply(List<Integer> ints) { 
       return Observable.fromIterable(ints); 
      } 
     }) 
4

Nie trzeba używać .just() ponieważ można utworzyć Observable bezpośrednio z listy poprzez fromIterable() operatora.

Observable.fromIterable(ints) 
Powiązane problemy