Documentation / dataflow / com.femastudios.dataflow.listen / LifecycleOwner / listen
Go to reference

listen

open fun <T> listen(field: Field<T>, callback: (T) -> Unit): ListenerHolder<T>
open fun <T> listen(field: Field<T>, callback: Consumer<T>): ListenerHolder<T>
open fun <T> listen(field: Field<T>, callImmediately: Boolean, callback: (T) -> Unit): ListenerHolder<T>
open fun <T> listen(field: Field<T>, callImmediately: Boolean, callback: Consumer<T>): ListenerHolder<T>

Starts listening to the given Field.

When field changes, callback is called.

Return
the ListenerHolder that manages this listening. You can call stop to stop the listening, and start to listen again.


open fun <T> listen(field: Field<T>, key: Any, callback: (T) -> Unit): ListenerHolder<T>
open fun <T> listen(field: Field<T>, key: Any, callback: Consumer<T>): ListenerHolder<T>
open fun <T> listen(field: Field<T>, key: Any, callImmediately: Boolean, callback: Consumer<T>): ListenerHolder<T>

Starts listening to the given Field.

When field changes, callback is called.

If another listener is attached with the same key, the previous listener will detach.

Return
the ListenerHolder that manages this listening. You can call stop to stop the listening, and start to listen again.


open fun <T> listen(field: Field<T>, key: Any, callImmediately: Boolean, callback: (T) -> Unit): ListenerHolder<T>

Starts listening to the given Field.

When field changes, callback is called.

If another listener is attached with the same key, the previous listener will be destroyed.

Return
the ListenerHolder that manages this listening. You can call stop to stop the listening, and start to listen again.

See Also

ListenerHolder.destroy