william
06/04/2020, 6:04 PMpublic class FooService {
public void addFoo(Foo foo) {
// woop
}
public void removeFoo(Foo foo) {
// womp
}
}
interface Foo {
void callback();
}
and then in the kotlin code I have:
class FooKotlin {
fun buzz() {
val fooService = FooService()
fooService.addFoo {
// do some callback stuff
fooService.removeFoo(???)
}
}
}
I'm not sure what to replace the ???
with in order to remove the callback listener after it has executed onceZach Klippenstein (he/him) [MOD]
06/04/2020, 6:05 PMaddFoo
.Zach Klippenstein (he/him) [MOD]
06/04/2020, 6:06 PMval fooCallback = Foo { … }
fooService.addFoo(fooCallback)
william
06/04/2020, 6:06 PMZach Klippenstein (he/him) [MOD]
06/04/2020, 6:08 PMvar
and initialize it after declaring itwilliam
06/04/2020, 6:10 PMfun buzz() {
val fooService = FooService()
var fooAction: Foo? = null
fooAction = Foo {
fooService.removeFoo(fooAction)
}
fooService.addFoo(fooAction)
}
I suppose i could initialize it with an empty lambda but that also seems weirdZach Klippenstein (he/him) [MOD]
06/04/2020, 6:40 PMlateinit
for local vars