onActivityCreated의 조각에 CompositeSubscription이 있습니다. EditText에서 문자열을 변경 한 후 mViewModel의 코드가 Observable을 방출합니다. 내가 Activityfragment를 시작하면 내 mViewModel에서Observable이 다음 활동에서 돌아온 후에 구독하지 않았습니다.
mSubscription = new CompositeSubscription();
mSubscription.add(mViewModel.getMyObservableIdModelCompany()
.observeOn(rx.android.schedulers.AndroidSchedulers.mainThread())
.doOnError(throwable -> { Log.e(TAG, "Error NewCashDocFragment " + throwable.getMessage());
hideProgressBar();
Toast.makeText(getActivity(), "Server not connected", Toast.LENGTH_SHORT).show();
})
.onErrorResumeNext(throwable -> empty())
.subscribe(this::setIdCompanyKt));
방법
public Observable<List<IdCompanyKt>> getMyObservableIdModelCompany() {
return mObservableIdModelCompany
.observeOn(mSchedulerProvider.computation())
.flatMap(queryx -> mDataModel.getObservableIdModelCompany());
}
를 완료하기 위해, 코드는 잘 작동하고 내가 관찰 가능한 가입. startActivityForResult next Activity를 시작하면 Activityfragment로 돌아가서 Observable을 구독 할 수 없습니다.
반환 후 내 Observable이 다른 스레드에있는 것 같습니다.
왜 다음 활동에서 돌아온 후에 Observable을 구독 할 수 없습니까?
더 많은 코드를 게시하십시오. 첫 번째 스 니펫은 어디에서 왔습니까? 어떻게 CompositeSubscription – elmorabea
@ elmorabea의 첫 번째 스 니펫이 onActivityCreated 메소드 조각에서 호출되는지 확인합니다. 그것은 Observable이 다른 실에있는 것처럼 보입니다. – eurosecom
'onDestroy'에서는 복합체에서'unsubscribe' /'dispose' 대신'clear()'를 호출합니다. – akarnokd