Changing elements at the top of an Adapter without repositioning lower items

view story

http://stackoverflow.com – I have a custom adapter (extending BaseAdapter). Items can be added to or removed from the top or bottom of the list. Items are of varying height, some much taller than others. The behavior I'm seeing is this: Scroll down to the middle of the list Asynchronously, an item is added to or removed from the top of the list, calling notifyDataSetChanged() Desired: Nothing changes for the user, because the data set changes only affect items that are offscreen Actual: The onscreen portion of the list jumps, because all the items in it have had their position incremented or decremented, and diffe (HowTos)