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
从带参数的抽象类移动到不带类型参数的子类来修复此问题