android - ActionBar tab implementation fails in Fragment -


requirement: fragment should provide actionbar tabs after calling through mainactivity

problem facing: after calling fragment, actionbar tabs gets invisible after showing 1-2 secs.

here fragment:

public class tabfragment extends fragment implements actionbar.tablistener{  sectionspageradapter msectionspageradapter;  viewpager mviewpager;  public static tabfragment newinstance() {     return new tabfragment(); }  @override public void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);  }   @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) {        view v = inflater.inflate(r.layout.testtab, container, false);     msectionspageradapter = new sectionspageradapter(             getchildfragmentmanager());      mviewpager = (viewpager) v.findviewbyid(r.id.pagertest);     mviewpager.setadapter(msectionspageradapter);     final actionbar actionbar = ((mainactivity)getactivity()).getsupportactionbar();      actionbar.setnavigationmode(actionbar.navigation_mode_tabs);     mviewpager.setonpagechangelistener(new viewpager.simpleonpagechangelistener() {         @override         public void onpageselected(int position) {             actionbar.setselectednavigationitem(position);         }     });      // each of sections in app, add tab action bar.     (int = 0; < msectionspageradapter.getcount(); i++) {         // create tab text corresponding page title defined         // adapter. specify activity object, implements         // tablistener interface, callback (listener) when         // tab selected.         actionbar.addtab(                 actionbar.newtab()                         .settext(msectionspageradapter.getpagetitle(i))                         .settablistener(this));     }      return v; }  @override public void ontabselected(actionbar.tab tab, fragmenttransaction fragmenttransaction) {      mviewpager.setcurrentitem(tab.getposition());  }  @override public void ontabunselected(actionbar.tab tab, fragmenttransaction fragmenttransaction) {  }  @override public void ontabreselected(actionbar.tab tab, fragmenttransaction fragmenttransaction) {  } public class sectionspageradapter extends fragmentpageradapter {      public sectionspageradapter(fragmentmanager fm) {         super(fm);     }      @override     public fragment getitem(int position) {         // getitem called instantiate fragment given page.         // return placeholderfragment (defined static inner class below).         return placeholderfragment.newinstance(position + 1);     }      @override     public int getcount() {         // show 3 total pages.         return 3;     }      @override     public charsequence getpagetitle(int position) {         locale l = locale.getdefault();         switch (position) {             case 0:                 return getstring(r.string.title_section1).touppercase(l);             case 1:                 return getstring(r.string.title_section2).touppercase(l);             case 2:                 return getstring(r.string.title_section3).touppercase(l);         }         return null;     } }  /**  * placeholder fragment containing simple view.  */ public static class placeholderfragment extends fragment {     /**      * fragment argument representing section number      * fragment.      */     private static final string arg_section_number = "section_number";      /**      * returns new instance of fragment given section      * number.      */     public static placeholderfragment newinstance(int sectionnumber) {         placeholderfragment fragment = new placeholderfragment();         bundle args = new bundle();         args.putint(arg_section_number, sectionnumber);         fragment.setarguments(args);         return fragment;     }      public placeholderfragment() {     }      @override     public view oncreateview(layoutinflater inflater, viewgroup container,                              bundle savedinstancestate) {         view rootview = inflater.inflate(r.layout.testtab1, container, false);         return rootview;     } } 

}

how actionbar implement tabs in fragment? implemented getsupportactionbar in oncreateview(). stuck here whole day. suggestion doing wrong here??

note: pagertabstrip working nicely want actionbar tabs

edit want app support gingerbread too

i recommend using toolbar slidingtablayout appcompat v21+ easy implementation.