2017-06-16 3 views
1

Ich habe eine Liste von Datensätzen und ich möchte 10 Datensätze in jeder Iteration verarbeiten. Also, wie kann ich eine Observable haben, die eine Liste von 10 Datensätzen in der Kette ausgibtrxjava: Wie man eine Reihe von Daten in der Kette weitergibt

Der folgende Code ist nicht vollständig/korrekt. Ich habe es hinzugefügt, um zu zeigen, was ich versuche

new Function<Cursor, Observable<List<A>>>() { 
       @Override 
       public Observable<List<A>> apply(final Cursor cursor) throws Exception { 
        return Observable.create(new ObservableOnSubscribe<List<A>>() { 

         @Override 
         public void subscribe(ObservableEmitter<List<A>> e) throws Exception { 
          List <A> list = new ArrayList<Attendee>(); 

          Attendee attendee; 
          while ((attendee = pendingUpSyncAttendeeCursor.getNextItem()) != null) { 
           list.add(pendingUpSyncAttendeeCursor.getNextItem()); 
          } 

          e.onNext(list); 
          e.onComplete(); 

         } 
        }); 

       } 
      } 
    ).groupBy(new Function<List<Attendee>, Object>() { 

Antwort

0

Nicht sicher Wenn ich verstehe, was Sie wollen. Hier ist ein Code, in dem eine Liste von 10 pro Iteration I bildet eine Liste von 10 Elementen dieser Liste

@Test 
public void twoDeepLevel() { 
    List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20); 
    Observable.from(list) 
      .flatMap(number -> Observable.from(list) 
        .take(10) 
        .collect(ArrayList<Integer>::new, ArrayList::add)) 
      .scan(new ArrayList<>(), 
        (lastItemEmitted, newItem) -> { 
         lastItemEmitted.add(newItem); 
         return lastItemEmitted; 
        }) 
      .subscribe(System.out::println, System.out::println); 
} 

Sie weitere Beispiele für reactiveX sehen hier

https://github.com/politrons/reactive

Verwandte Themen