3

こんにちは、Android で MVVM を初めて使用し、livedata を使用しています。ビューモデルのインスタンスを作成しようとしています。問題は、リポジトリをビューモデル コンストラクターに渡していないことだと思います。ビューモデルのインスタンスを作成できません。ここでこれを行う方法がわかりませんが、私のビューモデルとその作成です。

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);
4

2 に答える 2