It seems like ListView doesn\'t expose its y-position in the same way a ScrollView does. In other words: I need to remember the exact position the ListView was scrolled to
Parcelable state = list.onSaveInstanceState();
// do stuff
list.onRestoreInstanceState(state);
Is the only correct way I know of to maintain exact position of a list. The above solution that's marked as correct bumps up/down a few pixels so not really the most professional solution.