android - 在用例的构造函数中注入接口
问题描述
我有一个界面:
interface CartonRepository {
fun addToCart(company: Company): Completable
}
现在我想在我的用例中使用这个接口:
class ObserveCartonItemSelectionUseCase
@Inject constructor(private val cartonRepository: CartonRepository) : ObservableUseCase<UUID, Boolean> {
}
这个用例通过以下方式注入其他类:
@Inject
protected lateinit var observeCartonSelectionUseCase: ObserveCartonItemSelectionUseCase
我收到一个错误:
ApplicationComponent.java:13: error: CartonRepository cannot be provided without an @Provides-annotated method.
public abstract void inject(@org.jetbrains.annotations.NotNull()
解决方案
该错误准确地说明了应该做些什么来提供CartonRepository
. 向您的界面添加@Provides
注释:
@Provided
interface CartonRepository {
fun addToCart(company: Company): Completable
}
这将告诉 Dagger 这个接口应该是可注入的。
推荐阅读
- java - 如何设置一个 gitlab webide 终端来运行 java 代码?
- spring-boot - SpringBoot - SpringFox Starter 3.0.0 - 无法检测到 WebFlux RouterFunction
- java - 如何从列表索引中获取 vector2?
- wix - 有什么方法可以更改标准引导程序中的选项和安装按钮颜色
- keras - MultiHeadAttention中Query和Key Tensor的维度
- ios - WKWebView: [ProcessSuspension] - TimedActivity::activityTimedOut:
- iphone -