相关疑难解决方法(0)

如何在自定义视图或其他Android类中使用AndroidInjection类?

我对Android特定模式的问题是,如果你使用他们的AndroidInjection类,除了使用Application Component之外,除了Activities/ Fragments/自定义视图/适配器之外,成员无法注入其他对象.这是因为你无法获得用于注入/ 的Subcomponent(AndroidInjector)的引用.这使得注入Dialogs(如果你使用).ActivitiesFragmentsDialogFragments

AndroidInjection级似乎只支持Android核心类型.

android dependency-injection dagger dagger-2

20
推荐指数
3
解决办法
3430
查看次数

如何使用Dagger 2将存储库注入ViewModel

我尝试使用类似于Architecture Guide的 Dagger 2将存储库注入我的ViewModel .但是,我的存储库值始终为null.

这是我的ViewModel

public class MainActivityViewModel extends ViewModel {
    @Inject
    public CustomRepository repository;
    private MutableLiveData<List<CustomItem>> items = new MutableLiveData<>();

    public void initModel(Date month){    
        try {
            items = repository.getItems(month);
        } catch (Exception e) {
            items = new MutableLiveData<>();
        }
    }

    public MutableLiveData<List<CustomItem>> getItems() {
        return items;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的AppModule

@Module
public class AppModule {

    Application mApplication;

    public AppModule(Application application) {
        mApplication = application;
    }

    @Provides
    @Singleton
    Application providesApplication() {
        return mApplication;
    }

    @Provides
    @Singleton
    public ItemDao provideItemDao(AppDatabase …
Run Code Online (Sandbox Code Playgroud)

java android dagger-2

6
推荐指数
0
解决办法
3434
查看次数

标签 统计

android ×2

dagger-2 ×2

dagger ×1

dependency-injection ×1

java ×1