您好,我是android中MVVM的新手,正在使用livedata。我正在尝试创建我的视图模型的实例。我觉得问题在于我没有将存储库传递给我的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);
答案 0 :(得分:1)
答案 1 :(得分:1)
对于任何徘徊的人,可以在https://stackoverflow.com/a/49087002/6692278
处找到该问题的解决方案