小编Tes*_*Ktl的帖子

android - Dagger 2 注入多个接口和实现类

所以我想构建多模块化android项目,但在注入接口和实现方面遇到问题。

我有两个用于片段之间导航的界面

第一个界面

interface Fragment1Navigation {

    fun navigateToFragment1()
    fun navigateToFragment2()

}
Run Code Online (Sandbox Code Playgroud)

第二个接口

interface Fragment2Navigation {

    fun navigateToFragment3()
    fun navigateToFragment4()

}
Run Code Online (Sandbox Code Playgroud)

然后我有实现这两个接口的类

class Navigator: BaseNavigator(), Fragment1Navigation, Fragment2Navigation {

    override fun navigateToFragment1() {
        // some implementation
    }

    override fun navigateToFragment2() {
        // some implementation
    }

    override fun navigateToFragment3() {
        // some implementation
    }

    override fun navigateToFragment4() {
        // some implementation
    }


}
Run Code Online (Sandbox Code Playgroud)

我想在我的 mainActivity 中注入这个 Navigator 类以首先绑定我的导航控制器,我也想在其他片段中注入接口,我制作了这样的模块类

@Module()
class NavigationModule {

    @Provides
    @Singleton
    fun provideNavigator(): Navigator = Navigator()

    @Provides
    fun provideFragment1Navigation(): Fragment1Navigation …
Run Code Online (Sandbox Code Playgroud)

android module interface kotlin dagger-2

5
推荐指数
1
解决办法
2558
查看次数

标签 统计

android ×1

dagger-2 ×1

interface ×1

kotlin ×1

module ×1