android - Fragment in ViewPager using FragmentPagerAdapter is blank the second time it is viewed -


i have fragment interface tabs along bottom open different fragments in main view.

i have 1 particular fragment list of items. if user selects 1 of items in list, fragment opens contains viewpager scrolls horizontally between of items in list in previous fragment. works great.

the viewpager uses fragmentpageradapter display items.

the problem comes when user selects item in list, views it, hits button on tab bar go list, selects item. second time item selected, blank screen appears instead of viewpager. receive no errors in logcat when happens.

why viewpager appearing first time?

fragmentpageradapter:

public class viewpageradapter extends fragmentpageradapter {     cursor mcursor;      public viewpageradapter(fragmentmanager fm, cursor c) {         super(fm);         mcursor = c;     }      public void changecursor(cursor c) {         mcursor = c;         this.notifydatasetchanged();     }      @override     public int getcount() {         if (mcursor == null) return 0;         else return mcursor.getcount();     }      @override     public fragment getitem(int position) {         mcursor.movetoposition(position);         return teamcardfragment.newinstance(mcursor, position);     } } 

pagerfragment:

@override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) {     bundle bundle = getarguments();     mcursorposition = bundle.getint(teamcardcommon.bundle_key_cursor_position);      view mview = inflater.inflate(r.layout.team_card_master, container, false);     mviewpager = (viewpager)mview.findviewbyid(r.id.team_card_master_view_pager);      madapter = new viewpageradapter(getfragmentmanager(), cursor);     new setadaptertask().execute();      return mview; }  private class setadaptertask extends asynctask<void, void, void> {     protected void doinbackground(void... params) {         return null;     }      @override     protected void onpostexecute(void result) {         mviewpager.setadapter(madapter);         mviewpager.setcurrentitem(mcursorposition);     } } 

i had same issue. changing parent class of pageadapter android.support.v4.app.fragmentpageradapter android.support.v4.app.fragmentstatepageradapter solve viewpager display issue on "second time"!


Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -