android - How to recreate all fragments in ViewPager: -
i have problem, have fragmentactivity viewpager , viewpageradapter.
in viewpager have 3 fragments each of them contains tablelayout gets populated programmaticly using 2darraylist.
on click of button in fragmentactivity layout, filter data in 2darraylist , need recreate 3 fragments new dataset (run oncreateview method in of them).
so create onclicklistener button:
private class slicerselectedonclicklistener implements onclicklistener { private odsharedslicer slicer; public slicerselectedonclicklistener(odsharedslicer slicer) { super(); this.slicer = slicer; } public void onclick(view v) { string slicervalue = ((button) v).gettext().tostring(); log.d(tag,"slicer value: "+ slicervalue +" chosen"); application.currentreport.getodsharedslicers().get(0).getsharedslicerselectedmemebers().add(slicervalue); viewgroup parent = (viewgroup) ((button) v).getparent(); (int = 0; < parent.getchildcount(); i++) { if ((parent.getchildat(i) != v) && (parent.getchildat(i) instanceof togglebutton)) { ((togglebutton) parent.getchildat(i)).setchecked(false); } } mpageradapter.notifydatasetchanged(); } } as can see have mpageradapter.notifydatasetchanged(); suggested here:
how recreate fragment viewpager intentionally?
at end of method, expect adapter recreate fragments, oncreateview of fragments never runs.
can 1 suggest doing wrong. assistance appreciated.
for still face same problem faced same problem when have viewpager 7 fragment. default these fragments load english content service problem here want change langage settins activity , after finish settings activity want viewpager in main activity refresh fragment match langauge selection user , load arabic content if user choose arabic here did work first trr :d
1. must use fragmentstatepageradapter* .
mainactivity overrided onresume , did following
if (!(mpageradapter == null)) { mpageradapter.notifydatasetchanged(); }i ovveride getitemposition() in mpageradapter , make return position_none.
@override public int getitemposition(object object) { return position_none; }
works charm
Comments
Post a Comment