There are lots of suggestions in the internet on how to save & restore scroll position in android scrollable view, from saving the scroll (x, y) position in
onSaveInstanceState(Bundle outState) then restore it in
onRestoreInstanceState(Bundle savedInstanceState) and even creating a child class of
ScrollView to do this saving & restoring tasks, etc.
Actually it much simpler than I thought, we don’t need to do anything else to have the same behaviour, the framework (
RecyclerView) has done the job for us.
Here what you need to do:
- You need to set an ID attribute for any scrollable view such as
- Provide data to the
RecyclerViewin the first layout pass (syncronously), so you need to cache the data and restore it right away when there is configuration changes.
…and that’s it.