Examples of smooth scrolling implementations of ListView data adapters often require random access to the data source. The widely cited view holder pattern provides an implementation for getView, that obtains data based on a position/index passed to it.

My question is, what pattern can be employed in cases where random access to the data source is not efficient?