将 dagger 接口从 java 转换为 Kotlin 时遇到一些问题
我得到了 [Dagger/MissingBinding] java.util.Map 如果没有 @Provides-annotated 方法就无法提供。
这是我的界面
interface TopicConfigModule {
@Binds
@IntoMap
@StringKey(NAME)
fun bindCommandHandler(handler: TopicCommandHandler): CommandHandler
companion object {
@JvmStatic
@Provides
@FragmentScope
fun provideHubsConfig(
commandRegistry: Map<String, CommandHandler>
): Config {
return ...
}
}
}
和 CommandHandler 是 java 接口
public interface HubsCommandHandler {```}