Therefore, I do not think that this is possible because of how adapter views work. Basically, most, if not all calls to the adapter, the adapter view must be in the user interface stream for the correct operation. And the animation is definitely in the user interface thread. Since both of them cannot occur simultaneously in the same thread, you cannot (accurately) read the position until the scroll animation ends.
If you ask the adapter getSelectedItemPosition () in any other thread, it may give you the current position, but it may also be deprecated for some time, since I assume that the UI thread will update the value without checking for an exclusive lock.
source
share