Hello I am new to MVVM in android and working with livedata. I am trying to create an instance of my viewmodel. I feel the issue is that i have not passed my repository to my viewmodel constructor. I keep getting cannot create instance of viewmodel. I am not sure how to do this here is my viewmodel and its creation.
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);