我想在我的应用程序中同时使用Conductor和Kodein。问题是应用程序上下文和activity在控制器设置上都是空的,并且我无法访问Kodein实例。
class SetupNavigationController: Controller(), KodeinAware {
override val kodein: Kodein by closestKodein(applicationContext!!)
// val kodein = (activity as MainActivity).kodein
val someInstance: SomeClass by kodein.instance()
}发布于 2019-10-10 18:12:03
Kodein在默认情况下是惰性的,特别是因为applicationContext在类实例化时是空的,并在稍后由系统设置。
您需要使用惰性语法,以便仅在需要时访问applicationContext:
class SetupNavigationController: Controller(), KodeinAware {
override val kodein: Kodein by kodein { applicationContext!! }
val someInstance: SomeClass by kodein.instance()
}https://stackoverflow.com/questions/58315403
复制相似问题