【发布时间】:2017-07-16 21:18:36
【问题描述】:
在 TornadoFX 中,我想取消订阅自定义事件,这样接收者就不会再处理不必要的事件,并且可能会避免内存泄漏之类的事情,但是,当我在代码中使用 unsubscribe<MyEvent> 方法时,它不起作用一点也不。这是我的代码的一部分:
object MyEventObj: FXEvent(EventBus.RunOn.BackgroundThread)
class MyEventBus(val personlist:List<PersonOld>): FXEvent()
class MyController: Controller()
{
init
{
subscribe<MyEventObj> {
unsubscribe<MyEventObj> {
println("Unsubscribe event!") //unsubscrib event and make sure the next code just runs once, but never works!
}
println("Event has received!")
val items = listOf(PersonOld("Name A", 20), PersonOld("Name B", 25))
fire(MyEventBus(items))
}
}
}
那么,问题出在哪里?以及如何在 TornadoFX 中使用unsubscribe?感谢您提前帮助我!
【问题讨论】:
标签: java events kotlin unsubscribe tornadofx