我正在尝试使用新的匕首API进行活动注入,但出现错误MATCH (col1, col2, col3)
lateinit property dispatchingAndroidInjector has not been initialized
活动模块文件
// AppComponent.kt
@Singleton
@Component(modules = [
AndroidSupportInjectionModule::class,
ActivitiesModule::class
])
interface AppComponent {
fun inject(app: Application)
@Component.Builder
interface Builder {
fun build(): AppComponent
@BindsInstance
fun bindApplication(application: Application): Builder
}
}
在我的MainActivity中,我称为注射
@Module
abstract class ActivitiesModule {
@ContributesAndroidInjector
abstract fun provideRestaurantMainActivity(): MainActivity
}
在我的应用程序中
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
AndroidInjection.inject(this)
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
模块和组件的钩子上还有其他东西吗?
答案 0 :(得分:1)
此“有趣的注入(应用程序:应用程序)”应该是
有趣的注入(应用程序:应用程序)
答案 1 :(得分:0)
我认为您使用了错误的AndroidInjection
和AndroidSupportInjectionModule
版本。
尝试更换
AndroidSupportInjectionModule::class
与AndroidInjectionModule::class
。