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

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -