首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有参数的Dagger 2 issue:@Subcomponent.Builder方法必须返回@子组件类型

没有参数的Dagger 2 issue:@Subcomponent.Builder方法必须返回@子组件类型
EN

Stack Overflow用户
提问于 2019-12-09 09:26:21
回答 1查看 428关注 0票数 0

我有一个使用匕首2的子组件模块。

代码语言:javascript
复制
@Subcomponent(modules = arrayOf(LoginPageActivityModule::class))
class AuthModule {

    @Provides
    internal fun provideAuthDataManager(appDataManager: AppDataManagerImpl): AuthRepository {
        return AuthRepository(appDataManager)
    }

    @Subcomponent.Builder
    internal interface Builder {
        fun requestModule(module: AuthModule): Builder
        fun build(): AppComponent
    }
}

我想把它加到另一个模块里-

代码语言:javascript
复制
@Module(subcomponents = arrayOf(AuthModule::class))
    class LoginPageActivityModule {

@Provides
    internal fun provideLoginPageViewModel(dataManager: LoginRepository,authDataManager: AuthRepository): LoginPageViewModel {
        return LoginPageViewModel(dataManager,authDataManager)
    }

  }

当我这么做的时候,我会得到这个问题-

没有参数的

@Subcomponent.Builder方法必须返回@子组件类型或@子组件公共抽象com.lola.AppComponent构建()的超级类型;

我如何删除一个工厂或建筑?

EN

回答 1

Stack Overflow用户

发布于 2019-12-09 13:27:48

您应该返回AuthModule,因为这是组件的名称。

虽然我猜想您在那里输入了一些名称,但是您可能想要调用该组件AppComponent。(调用名称以-module结尾的组件是非常令人费解的)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59245879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档