gpt4 book ai didi

android - 通过柄中的不同具体类绑定(bind)接口(interface)?

转载 作者:行者123 更新时间:2023-12-05 00:11:53 25 4
gpt4 key购买 nike

我使用 Hilt 。
我有一个接口(interface),但我有两个实现了它们的类。
我需要在 ViewModels 中实现不同的 @Bind 接口(interface)。
请帮帮我?
创建自定义组件?或使用自定义范围?

最佳答案

您提供的给定代码会有所帮助,但让我们假设:
你的界面

interface YourInterface {}
类(class)
class MyFirstClassImpl @Inject constructor() : YourInterface

class MySecondClassImpl @Inject constructor() : YourInterface
迪模块
@Module
@InstallIn(SingletonComponent::class)
inteface YourClassModule {
@Binds
@MyFirstClass
fun provideMyFirstClass(class: MyFirstClassImpl): YourInterface

@Binds
@MySecondClass
fun provideMySecondClass(class: MySecondClassImpl): YourInterface

}

@Qualifier
@Retention(AnnotationRetention.RUNTIME)
annotation class MyFirstClass

@Qualifier
@Retention(AnnotationRetention.RUNTIME)
annotation class MySecondClass
View 模型
class YourViewModel @ViewModelInject constructor(
@MyFirstClass private val firstClass: YourInterface,
@MySecondClass private val secondClass: YourInterface
) : ViewModel()
这应该可以完成这项工作。

关于android - 通过柄中的不同具体类绑定(bind)接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65458172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com