2017-02-17 16 views
0

私はViewModelにBehaviourSubjectを持っていますが、これは動作を行うobservablesに連結したいものです。だから、私はDBからユーザーのリストを取得したい。私はこの操作を持っているオブザーバブルを持っています。 BehaviourSubjectを私のビューで購読してからgetUsersを呼び出しますが、結果はありません。前もって感謝します。BehaviourSubjectへのConcat Observables

コード: のViewModel

public Observable<S> getState(Observable<S> input) { 
    return state.concatMap(o -> input); 
} 

@Override 
public Observable<UserListState> getUsers() { 
    getState(dataUseCase.getUserList()); 
} 

ビュー:

userListVM.getState().compose(bindToLifecycle()) 
      .subscribe(new Subscriber<>() { 
    void onNext(Object o){ 
    Log.d("onNext", o.toString()); // null !! 
    } 
}); 
userListVM.getUsers(); 

答えて

1

あなたが観測userListVM.getUsers()に加入していないので、これは、何もしません。

getStateに0と1のパラメータが設定されているため、コードが正確ではありません。これは、観察から被写体までのアイテムを伝播しますが、手動で/

を退会処理する必要があります

userListVM.getUsers().subscribe(stateSubject::onNext); 

:代わりに、おそらくあなたのような何かを検討すべきです

関連する問題