我已將我的存儲庫注入到帶有 lateinit 聲明的 Activity 中。但是,當我調用存儲庫的方法時,它會導致崩潰,說 lateinit 屬性 clearDbRepository 尚未初始化。
class StartActivity : BaseActivity() {
private lateinit var binding: StartEmptyPageBinding
@Inject
lateinit var clearDbRepository: ClearDbRepository
override fun setupViews() {
lifecycleScope.launch {
clearDbRepository.clearLocalDatabase()
}
}
}
我的 ClearDbRepository 是:
@Singleton
class ClearDbRepository @Inject constructor(
private val mainDatabase: LocalDB
) {
suspend fun clearLocalDatabase() = withContext(Dispatchers.IO) {
mainDatabase.clearAllTables()
}
}
如果您使用的是Hilt庫,那麼根據您的代碼片段,您很可能缺少註釋。您必須在 Activity 類上方添加適當的註釋,如下所示:
@AndroidEntryPoint
class StartActivity : BaseActivity() { }
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句