Репозиторий отправляет только при втором вызове данные обратно в ViewModel - PullRequest
0 голосов
/ 20 октября 2018

Согласно этому руководству: https://developer.android.com/jetpack/docs/guide?fbclid=IwAR2vtdeMmmnq6h-zcwTuLLLZcRdhr_pSPr7vT7ZebEL3K3EyR-CobCU07Q0#overview Я пытаюсь выполнить шаблон репозитория без использования автономной базы данных или кэша.Живые данные наблюдателей фрагмента во ViewModel и ViewModel извлекают данные из Repo.

Проблема:

Мой фрагмент получает данные только при втором вызове (например, при повороте экрана).

По моему мнению, эти строки кодов являются проблемой в классе репо:

public class UserRepository {
private Webservice webservice;
// ...
public LiveData<User> getUser(int userId) {
    // This isn't an optimal implementation. We'll fix it later.
    final MutableLiveData<User> data = new MutableLiveData<>();
    webservice.getUser(userId).enqueue(new Callback<User>() {
        @Override
        public void onResponse(Call<User> call, Response<User> response) {
            data.setValue(response.body());
        }

        // Error case is left out for brevity.
    });
    return data;
}

}

Есть ли способ получить данные при первом обращении с шаблоном хранилища (без сохранения в автономном режиме)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...