data is not showing when come back to the previous tab in android -


in application, i'm showing 4 tabs using viewpager.

tab1 | tab2 | tab3 | tab4

public class sports_swipe extends fragmentactivity implements actionbar.tablistener { private viewpager viewpager; private sports_swipeadapter madapter; private actionbarsherlock msherlock; private actionbar actionbar; // tab titles private string[] tabs = { "tab1", "tab2", "tab3", "tab4", "tab5"};  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.sports_swipe);      // initilization     viewpager = (viewpager) findviewbyid(r.id.pager);      madapter = new sports_swipeadapter(getsupportfragmentmanager());      viewpager.setadapter(madapter);     actionbar.setnavigationmode(actionbar.navigation_mode_tabs);              // adding tabs     (string tab_name : tabs) {         actionbar.addtab(actionbar.newtab().settext(tab_name).settablistener(this));      }     /**      * on swiping viewpager make respective tab selected      * */     viewpager.setonpagechangelistener(new viewpager.onpagechangelistener() {          @override         public void onpageselected(int position) {             // on changing page             // make respected tab selected             actionbar.setselectednavigationitem(position);                            }          @override         public void onpagescrolled(int arg0, float arg1, int arg2) {          }          @override         public void onpagescrollstatechanged(int arg0) {          }     }); } @override public void ontabreselected(tab arg0, fragmenttransaction arg1) {     // todo auto-generated method stub  }  @override public void ontabselected(tab tab, fragmenttransaction ft) {     // todo auto-generated method stub     // show respected fragment view     viewpager.setcurrentitem(tab.getposition());  }  @override public void ontabunselected(tab tab, fragmenttransaction ft) {     // todo auto-generated method stub  } } ///////////////////////////////////////////////////  public class sports_swipeadapter extends fragmentpageradapter {  public sports_swipeadapter(fragmentmanager fm) {     super(fm); }  @override public fragment getitem(int index) {      switch (index) {     case 0:         // top rated fragment activity         return new tab1();     case 1:         // games fragment activity         return new tab2();     case 2:         // movies fragment activity         return new tab3();     case 3:         // games fragment activity         return new tab4();      case 4:         // movies fragment activity         return new tab5();     }      return null; }  @override public int getcount() {     // item count - equal number of tabs     return 5; } }  ///////////////////////////////////// public class tab1 extends fragment {  @override  public view oncreateview(layoutinflater inflater, viewgroup container,             bundle savedinstancestate) {          view rootview = inflater.inflate(r.layout.activity_tab1, container, false);      //here fields of tab1  } //i did remaining tabs 

my activity extends fragmentactivity. whenever page loads i'm showing data of tab1. if user clicks on tab2 i'm getting data , showing. user clicks on tab3 i'm showing data of tab3. fine. when user goes tab1 data not available on tab1. showing empty page.

how should save tab data or tab state.

thanks

you need set offscreen page limit using

setoffscreenpagelimit(int limit)

set number of pages should retained either side of current page in view hierarchy in idle state.

so use

viewpager.setoffscreenpagelimit(3); 

Comments

Popular posts from this blog

jQuery Mobile app not scrolling in Firefox -

c++ - How to add Crypto++ library to Qt project -

php array slice every 2th rule -