2017-01-12 41 views
5

Orada bir rxjava 1'de gözlemlenebilir sınıfta yöntemle ama şu kodda rxjava 2'de yönteminden yerini nasıl rxjava 2. bulunmayan dan:rxjava yöntem Observable.from çözülemiyor 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); 
       } 
      }) 

cevap

10

kullanabilirsiniz Observable.fromIterable(source)

documentation Gönderen:

Bazı operatör aşırı yükler uzantısına sahip bir yeniden adlandırıldı gibi fromArray, fromIterable Bunun nedeni, kütüphanesi Java 8 ile derlendiğinde, javac çoğu zaman işlevsel arayüz tipleri arasında 'un yerini alamıyor olmasıdır. Eğer fromIterable() operatör aracılığıyla listenizden doğrudan Observable oluşturabilir çünkü

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

Sen .just() kullanmaya gerek yoktur.

Observable.fromIterable(ints)