2016-11-14 12 views
0

では動作しません:(Observable.createを())repeatUtil()私は、次のコードを使用するとRxjava 2.xの

Observable.create(new ObservableOnSubscribe<User>() { 
     @Override 
     public void subscribe(ObservableEmitter<User> emitter) throws Exception { 
      emitter.onNext(new User("Even201314", 14)); 
     } 
    }).repeatUntil(new BooleanSupplier() { 
     @Override 
     public boolean getAsBoolean() throws Exception { 
      repeatCount += 1; 
      Log.d(TAG, "count: " + repeatCount); 
      return repeatCount > 10; 
     } 
    }) 

repeatUntilは、コンソールが何をログに記録しないでしょうexecuted.Theされない方法。
しかし、私は次のコードを使用している場合:(Observable.justは())

final User user = new User("Even201314", 24); 
    Observable.just(user).repeatUntil(new BooleanSupplier() { 
     @Override 
     public boolean getAsBoolean() throws Exception { 
      repeatCount += 1; 
      Log.d(TAG, "count: " + repeatCount); 
      return repeatCount > 10; 
     } 
    }) 

repeatUntilがexecuted.Andられる方法は、コンソールにはログインします:

11-14 00:00:36.312 5788-5854/com.even.learningrxjava2 D/MainActivity: count: 1 
11-14 00:00:36.312 5788-5854/com.even.learningrxjava2 D/MainActivity: count: 2 
11-14 00:00:36.313 5788-5854/com.even.learningrxjava2 D/MainActivity: count: 3 
11-14 00:00:36.313 5788-5854/com.even.learningrxjava2 D/MainActivity: count: 4 
11-14 00:00:36.313 5788-5854/com.even.learningrxjava2 D/MainActivity: count: 5 
... 

私はなぜ知りませんObservable.create()はrepeatUntil()メソッドを実行しませんか?

答えて

0

emitter.onComplete()が必要です。そうしないと、リピートはトリガーされません。

関連する問題