Android ViewPager refresh only one fragment -
i have viewpager
set of fragments
, wich different, , takes time load, , need refresh 1 of (say 2nd one) when move it. i've set setoffscreenpagelimit
number of fragments have
i tried using method:
mviewpager.setonpagechangelistener(new onpagechangelistener() { @override public void onpageselected(int position) { if(position == 1) { pageradapter.notifydatasetchanged(); } } ... });
then refresh:
@override public int getitemposition(object object) { if (object instanceof myfragment ) { myfragment f = (myfragment ) object; if (f != null) { f.refreshstuff(); } } return super.getitemposition(object); }
but approach seems when select second 1 , pageradapter.notifydatasetchanged();
gets called, gets kinda laggy.
is there better solution ?
thank all
so after while tried following solution wich worked quiet well
first defined interface follows:
public static interface fragmentstate{ void fragmentvisible(); }
this interface implemented in many fragments, , me define want when 1 becaumes visible
public class myfragment extends fragment implements fragmentstate { ... @override public void fragmentvisible() { //do specific stuff resetdataorwhatever(); } }
then in viewpager
defined pagechangelistener
follows, example of 2nd fragment stuff
mviewpager.setonpagechangelistener(new onpagechangelistener() { @override public void onpageselected(int position) { if(position == 1) { myfragment fragment = mviewpager.getadapter().getitem(1); // call fragmentvisible method here fragment.fragmentvisible(); } } ... });
hopefully people, also, if there better solution please provide it
Comments
Post a Comment