android - Fragment not showing on actionBar tab select after orientation change -
i can't fragments work actionbar - when change tab fragment switches properly. when rotate phone, remembered fragment shows correctly (depending on selected) can't switch other tab. there no error, nothing, , don't know how check wrong
maphandlerfragment mmaphandler; vehiclesfragment mvehiclesfragment; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); actionbar ab = getsupportactionbar(); ab.setnavigationmode(actionbar.navigation_mode_tabs); ab.setdisplayshowtitleenabled(false); ab.setdisplayshowhomeenabled(false); fragmentmanager fm = getsupportfragmentmanager(); mmaphandler = new maphandlerfragment(); mvehiclesfragment = new vehiclesfragment(); if (savedinstancestate == null) { fm.begintransaction() .add(android.r.id.content, mvehiclesfragment) .add(android.r.id.content, mmaphandler) .commit(); } else { fm.begintransaction() .hide(mmaphandler) .hide(mvehiclesfragment) .commit(); } tab vehiclestab = ab.newtab().settext("pojazdy").settag(fragment_vehicles) .settablistener(new mytabslistener(mvehiclesfragment)); ab.addtab(vehiclestab); tab maptab = ab.newtab().settext("mapa").settag(fragment_map) .settablistener(new mytabslistener(mmaphandler)); ab.addtab(maptab); if (savedinstancestate == null) { ab.selecttab(maptab); } else { string selected = savedinstancestate.getstring(selected_tab); if (selected == fragment_vehicles) { ab.selecttab(vehiclestab); } else if (selected == fragment_map) { ab.selecttab(maptab); } } } @override protected void onsaveinstancestate(bundle outstate) { super.onsaveinstancestate(outstate); outstate.putstring(selected_tab, mselectedtab); } protected class mytabslistener implements actionbar.tablistener { private fragment fragment; public mytabslistener(fragment fragment) { this.fragment = fragment; } public void ontabreselected(tab tab, fragmenttransaction ft) { } public void ontabselected(tab tab, fragmenttransaction ft) { ft.show(fragment); } public void ontabunselected(tab tab, fragmenttransaction ft) { ft.hide(fragment); } }
}
i know don't add fragments when savedinstancestate
not null
, if case, why selected fragment show properly? also, when add fragments, overlay each other...
its not doing because ontabreselected
getting called, can handle want why nothing happening when select tab
Comments
Post a Comment