Невозможно создать экземпляр модели представления - PullRequest
0 голосов
/ 27 июня 2018

Здравствуйте, я новичок в MVVM в Android и работаю с Liveata. Я пытаюсь создать экземпляр моей модели представления. Я чувствую, что проблема в том, что я не передал свой репозиторий моему конструктору viewmodel. Я продолжаю получать не могу создать экземпляр viewmodel. Я не уверен, как это сделать, вот моя модель представления и ее создание.

public class UserProfileViewModel extends ViewModel {
    private LiveData<User> user;
    private UserRepository userRepository;

    @Inject
    public UserProfileViewModel(UserRepository userRepo){
        this.userRepository = userRepo;
    }

    public void init(String userId){
        if (this.user != null) {
            return;
        }
        user = userRepository.getUser(userId);
    }

    public LiveData<User> getUser() {
        return this.user;
    }
}


//create view model in fragment
viewModel = ViewModelProviders.of(this).get(UserProfileViewModel.class);
viewModel.init(mUserId);

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

для тех, кто бродит, решение этой проблемы можно найти там https://stackoverflow.com/a/49087002/6692278

0 голосов
/ 27 июня 2018

Вот правильное объяснение использования модели представления ->

Обмен данными между фрагментами с использованием нового архитектурного компонента ViewModel

надеюсь, это поможет

...