Проблема в следующем, я подписался на LiveData
изменения в активности, и в первый раз я получаю все данные в наблюдателе, но когда я запускаю другое действие и затем возвращаюсь к нему, наблюдатель не вызывается.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
viewModel = ViewModelProviders.of(this, viewModelFactory).get(MainMenuViewModel.class);
observeViewModel();
}
@Override
protected void onResume() {
super.onResume();
viewModel.loadUserEntry();
}
public void observeViewModel() {
viewModel.getUser().observe(this, userEntry -> {
// Do some code
});
}
вот код моей ViewModel
void loadUserEntry() {
disposable.add(userRepository.getUser()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(user::setValue, Throwable::printStackTrace));
}
public LiveData<UserEntry> getUser() {
return user;
}
Итак, я протестировал, и все время в подписке у меня есть пользовательское значение, а затем я устанавливаю это значение в LiveData.
Буду признателен за помощь. Благодаря.