android - Cyclic View Pager with dynamic data -



android - Cyclic View Pager with dynamic data -

i facing issue viewpager create cyclic. have list of info dynamic , everytime swipe made view has updated dynamic data. example, have 5 objects in list a,b,c,d,e able swipe through -> b -> c -> d -> e , 1 time again e -> d -> c -> b -> a. should create cyclic in after e, should goto on swiping right , after should goto e on swiping left. please can 1 tell me how this. lot.

here code snippet have tried far.

public class flingactivity extends baseactivity implements onclicklistener{ private viewpager pager; private int position; private int total; private arraylist<databean> beanlist; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); if (this.getintent().hasextra("position")) { position = (int) this.getintent().getextras().getint("position"); } if(getintent().hasextra("listdetails")) { beanlist = (arraylist<databean>)getintent().getserializableextra("listdetails"); } if(beanlist != null){ total = beanlist.size(); pager = (viewpager) findviewbyid(r.id.pager); ((relativelayout) findviewbyid(r.id.right_arrow)).setonclicklistener(this); ((relativelayout) findviewbyid(r.id.left_arrow)).setonclicklistener(this); pager.setvisibility(view.visible); pager.setadapter(new mypageradapter(beanlist)); pager.setonpagechangelistener(new onpagechangelistener() { int lastposition; int posoffset=0; public void onpageselected(int arg0) { position=arg0; } public void onpagescrolled(int arg0, float arg1, int arg2) { if(arg0!=0 && arg1==0 && arg2 == 0){ lastposition=arg0; } } public void onpagescrollstatechanged(int arg0) { if(position == total - 1){ position=total + 1; } if(arg0 == viewpager.scroll_state_idle && position > total){ pager.setcurrentitem(0, true); } } }); pager.setcurrentitem(position, true); } } public void onclick(view v) { switch(v.getid()) { case r.id.left_arrow: if(pager != null) { pager.setcurrentitem(pager.getcurrentitem() - 1, true); } break; case r.id.right_arrow: if(pager != null) { pager.setcurrentitem(pager.getcurrentitem() + 1, true); } break; } } private class mypageradapter extends pageradapter { private arraylist<databean> beanlist; public mypageradapter(arraylist<databean> list) { this.beanlist = list; } public int getcount() { homecoming beanlist.size(); } public object instantiateitem(view collection, int position) { view view = layoutinflater.from(getapplicationcontext()).inflate(r.layout.item_view, null); databean databean = beanlist.get(position); textview name = (textview) view.findviewbyid(r.id.name); name.settext(databean.getname()); textview description = (textview) view.findviewbyid(r.id.desc); description.settext("description " + databean.getdesc()); ((viewpager) collection).addview(view, 0); homecoming view; } @override public void destroyitem(view arg0, int arg1, object arg2) { ((viewpager) arg0).removeview((view) arg2); } @override public boolean isviewfromobject(view arg0, object arg1) { homecoming arg0 == ((view) arg1); } }

}

in above code after going e page automatically slides should go if user swipes.

android android-viewpager android-pageradapter

Comments

Popular posts from this blog

web services - java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer -

Accessing MATLAB's unicode strings from C -

javascript - mongodb won't find my schema method in nested container -