【发布时间】:2017-11-12 11:53:01
【问题描述】:
我发布了一个问题(Dagger 2 does not generate the component class (Android, Kotlin)),经过一些实验,似乎问题可能是由于 Kotlin 隐藏了该字段。
class CoffeeShop {
@Inject
var theCoffee: Coffee? = null
}
错误信息是,
:app:kaptDebugKotline: ...\CoffeeShop.java:7:
error: Dagger does not support injection into private fields
e: private ....Coffee theCoffee;
theCoffee 在我的源代码中不是私有的。但我认为 Kotlin 可能正在翻译
class CoffeeShop {
@Inject
var theCoffee: Coffee? = null
}
转成Java代码
class CoffeeShop {
@Inject
private Coffee theCoffee = null;
public Coffee getTheCoffee();
public void setTheCoffee();
}
我可以在 Kotlin 中使用字段注入吗?
【问题讨论】: