com.soywiz.korinject.AsyncInjector$NotMappedException:类“
ChooseCampaign (Kotlin反射不可用)”没有构造函数RequestContext(initialClazz=class ChooseCampaign (Kotlin反射不可用))
上述异常在我编译当前代码时抛出。我不知道它是如何修复的,它意味着什么。
我的代码:
textButton {
position(0, 128)
text = "Play"
onClick {
println("Play")
launchImmediately {
sceneContainer.changeTo<ChooseCampaign>()
}
}
}它是怎么修好的?
发布于 2020-06-03 20:45:08
在KorGE中使用场景时,间接地使用korinject依赖项注入器。
那个喷射器需要手动映射。如果使用的是模块,则可以在Module.init方法中配置这些映射。
在您的示例中,一旦获得了Injector实例,就可以映射这样的场景:
mapPrototype { ChooseCampaign(get()) }您必须设置与ChooseCampaign构造函数所具有的参数一样多的ChooseCampaign。
在不使用模块的情况下,放置映射的位置是不同的,您需要获取Injector实例。
在suspend fun main() = Korge {块中,注入了Stage单例。这是根视图,它引用了Views单例。
因此,您可以像这样访问注射器:this.views.injector
然后,您可以随时映射您的场景,尽管我建议您在应用程序开始时这样做。
https://stackoverflow.com/questions/62157259
复制相似问题