This method tracks listeners for a View. Only one listener per listenerResourceId
can be tracked at a time. This is useful for add*Listener and remove*Listener methods
when used with BindingAdapters. This guarantees not to leak the listener or the View,
so will not keep a strong reference to either.
Example usage:
@BindingAdapter("onFoo")
public static void addFooListener(MyView view, OnFooListener listener) {
OnFooListener oldValue = ListenerUtil.trackListener(view, listener, R.id.fooListener);
if (oldValue != null) {
view.removeOnFooListener(oldValue);
}
if (listener != null) {
view.addOnFooListener(listener);
}
}