相关疑难解决方法(0)

Dagger:IllegalArgumentException:没有为Class绑定的进程工厂

我是Dagger 2的新手.我有2个活动,我想使用注入的ViewModel.这是我的ViewModuleFactory:

@Singleton
public class ProductViewModelFactory implements ViewModelProvider.Factory {

    private final Map<Class<? extends ViewModel>, Provider<ViewModel>> creators;

    @Inject
    public ProductViewModelFactory(Map<Class<? extends ViewModel>, Provider<ViewModel>> creators) {
        this.creators = creators;
    }


    @SuppressWarnings("unchecked")
    @Override
    public <T extends ViewModel> T create(Class<T> modelClass) {
        Provider<? extends ViewModel> creator = creators.get(modelClass);
        if (creator == null) {
            for (Map.Entry<Class<? extends ViewModel>, Provider<ViewModel>> entry : creators.entrySet()) {
                if (modelClass.isAssignableFrom(entry.getKey())) {
                    creator = entry.getValue();
                    break;
                }
            }
        }
        if (creator == null) {
            throw new IllegalArgumentException("unknown viewmodel class …
Run Code Online (Sandbox Code Playgroud)

android dependency-injection dagger dagger-2

44
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

dagger ×1

dagger-2 ×1

dependency-injection ×1