首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带类型的Dagger Hilt抽象类

带类型的Dagger Hilt抽象类
EN

Stack Overflow用户
提问于 2020-07-15 14:54:13
回答 1查看 1.3K关注 0票数 5

大家好,我正在尝试使用Dagger-Hilt,我想知道如何实现下面的代码?

代码语言:javascript
复制
@AndroidEntryPoint
abstract class BaseActivity <B : ViewDataBinding, VM : ViewModel> : IActivity<VM>, AppCompatActivity() {

   @Inject
   lateinit var someClass: SomeClass
}

Gradle返回此错误:

代码语言:javascript
复制
 BaseActivity_GeneratedInjector.java:10: error: <identifier> expected
    topLevelClass = BaseActivity<B, VM>.class
                                        ^error: [Hilt]
  class java.lang.NullPointerException: java.lang.NullPointerException

这是生成的Java类:

代码语言:javascript
复制
@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);
}

我们将非常感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-08-14 21:29:28

据我所知,这是希尔特内部的bug。

检查相关github问题:https://github.com/google/dagger/issues/2042

您可以通过将@AndroidEntryPoint从带参数的抽象类移动到不带类型参数的子类来修复此问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62909138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档