android - RecyclerView restore scroll state while setting new LayoutManager -


i`m trying save , restore states of recyclerview on orientation in fragment changed , kinda works, 1 layout manager only. example: if linearlayoutmanager only, maintains position once rotating , changing staggeredgrid, loads items loses scroll position

if (configuration.landscape(getactivity())) {         newslistview.setlayoutmanager(new staggeredgridlayoutmanager(2, staggeredgridlayoutmanager.vertical));     } else {         if(getresources().getboolean(r.bool.is_tablet)) {             newslistview.setlayoutmanager(new staggeredgridlayoutmanager(2, staggeredgridlayoutmanager.vertical));         } else {             newslistview.setlayoutmanager(new linearlayoutmanager(getactivity()));         }     } 

this code layout changing on orientation, it`s inside oncreateview , after instance check

if (savedinstancestate != null) {         productslistsaved = new arraylist<>();         productslistsaved = (arraylist<hashmap<string,string>>) savedinstancestate.getserializable("newsfeed");         adapter = new recyclerviewadapter(getactivity(), productslistsaved);         newslistview.setadapter(adapter);     } else {         new synchronize.loadallproducts(getactivity()).execute(categorie);     } 

so, possible save&restore&change layout manager @ same time?

thanks in advanced