Refer to ViewPositionObserver.java, I think Listener is better.