Подписываюсь на LiveData
которая находится во ViewModel
во фрагменте
Вот так получаю
@Override
public void onCreate(@Nullable final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.offline_fragment);
mModel = ViewModelProviders.of(this, mFactory).get(OfflineFragViewModel.class);
observeLive();
mModel.getData("");
}
Вот подписываюсь
private void observeLive()
{
mModel.getLoadingStatusLive().observe(this, iLoadingStatus -> Log.e("TAG", iLoadingStatus.name()));
}
Метод getData()
во ViewModel
public void getData(String i)
{
mLoadingStatusLive.setValue(LoadingStatus.LOADING);
Offline offline = mRepo.getActivePrnBy(i);
if (offline.isErrorOccur())
{
mLoadingStatusLive.setValue(LoadingStatus.ERROR);
}
}
В логе я получаю только ERROR
Хотя должен получить LOADING
и ERROR
Если я делаю запрос данных с задержкой вот так
@Override
public void onCreate(@Nullable final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.offline_fragment);
mModel = ViewModelProviders.of(this, mFactory).get(OfflineFragViewModel.class);
observeLive();
Observable.just("").delay(1500, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).doOnNext(i -> mModel.getData("")).subscribe();
}
То все приходит как нужно
Похоже на то , как будто getData()
постит все что нужно и только потом происходит подписка и естественно LiveData
возвращает последний обьект который получила
Но почему это вдруг так? Если в коде явно подписываюсь я раньше , чем происходит запрос на данные...
Что делаю не так?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хочу, чтобы при нажатии кнопки "UP" аймэдж "gena" стирался и появлялся в новом месте - то есть x = x + 100Но при нажатии кнопки ничего не происходит
Есть javaagent со следующим ClassFileTransformer:
Необходимые порты открыты, удаленный мониторинг через jconsole с других компов доступенПроблема заключается в том, что zabbix возвращает такую...