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
Post a Comment