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