大家好,我正在尝试使用Dagger-Hilt,我想知道如何实现下面的代码?
@AndroidEntryPoint
abstract class BaseActivity <B : ViewDataBinding, VM : ViewModel> : IActivity<VM>, AppCompatActivity() {
@Inject
lateinit var someClass: SomeClass
}Gradle返回此错误:
BaseActivity_GeneratedInjector.java:10: error: <identifier> expected
topLevelClass = BaseActivity<B, VM>.class
^error: [Hilt]
class java.lang.NullPointerException: java.lang.NullPointerException这是生成的Java类:
@OriginatingElement(
topLevelClass = BaseActivity<B, VM>.class
)
@GeneratedEntryPoint
@InstallIn(ActivityComponent.class)
@Generated("dagger.hilt.android.processor.internal.androidentrypoint.InjectorEntryPointGenerator")
public interface BaseActivity_GeneratedInjector {
void injectBaseActivity(BaseActivity baseActivity);
}我们将非常感谢您的帮助。
发布于 2020-08-14 21:29:28
据我所知,这是希尔特内部的bug。
检查相关github问题:https://github.com/google/dagger/issues/2042
您可以通过将@AndroidEntryPoint从带参数的抽象类移动到不带类型参数的子类来修复此问题。
https://stackoverflow.com/questions/62909138
复制相似问题