我正在阅读有关Room,RxJava和LiveData的文章。
我不了解此代码。
public class ViewModelFactory implements ViewModelProvider.Factory {
private Repository repository;
@Inject
public ViewModelFactory(Repository repository) {
this.repository = repository;
}
@NonNull
@Override
public <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
if (modelClass.isAssignableFrom(LoginViewModel.class)) {
return (T) new LoginViewModel(repository);
}
throw new IllegalArgumentException("Unknown class name");
}
}
我不了解create方法。返回类型和参数以及return语句。
要实例化视图模型,我们需要使用ViewModelProviders
,因为我们不能自己实例化它们。