Android 带类型的Dagger-Hilt抽象类

Android 带类型的Dagger-Hilt抽象类,android,dagger-hilt,Android,Dagger Hilt,大家好,我正在尝试使用匕首柄,我想知道如何实现下面的代码 @AndroidEntryPoint abstract class BaseActivity <B : ViewDataBinding, VM : ViewModel> : IActivity<VM>, AppCompatActivity() { @Inject lateinit var someClass: SomeClass } @AndroidEntryPoint 抽象类BaseActivit

大家好,我正在尝试使用匕首柄,我想知道如何实现下面的代码

@AndroidEntryPoint
abstract class BaseActivity <B : ViewDataBinding, VM : ViewModel> : IActivity<VM>, AppCompatActivity() {

   @Inject
   lateinit var someClass: SomeClass
}
@AndroidEntryPoint
抽象类BaseActivity:IActivity,AppCompativity(){
@注入
lateinit变量someClass:someClass
}
Gradle返回此错误:

 BaseActivity_GeneratedInjector.java:10: error: <identifier> expected
    topLevelClass = BaseActivity<B, VM>.class
                                        ^error: [Hilt]
  class java.lang.NullPointerException: java.lang.NullPointerException
BaseActivity\u生成的对象。java:10:错误:应为
topLevelClass=BaseActivity.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);
}
@origingElement(
topLevelClass=BaseActivity.class
)
@生成点
@InstallIn(ActivityComponent.class)
@已生成(“dagger.hilt.android.processor.internal.AndroIdentityPoint.InjectorEntryPointGenerator”)
公共接口BaseActivity_GeneratedInjector{
无效注入BaseActivity(BaseActivity BaseActivity);
}

非常感谢您的帮助。

据我所知,这是刀柄内的虫子

检查相关github问题:

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