android - How to use custom adpter with endless adapter -


i trying work endless adapter , followed example

http://droidista.blogspot.com/2011/04/using-cwacs-endlessadapter-with-custom.html

and

i have tried code

public class mainactivity extends activity {       static int list_size;      private int mlastoffset = 0;       static final int batch_size = 10;        private rotateanimation rotate = null;         arraylist<string> templist = new arraylist<string>();       string[] product = new string[]{"p1" , "p2" , "p3" , "p4" , "p5" ,"p6" ,                 "p7" , "p8" , "p9" , "p10" , "p11" ,"p12" ,                 "p13" , "p14" , "p15" , "p16" , "p17" ,"p18" ,                 "p19" , "p20" , "p21" , "p22" , "p23" ,"p24" ,                 "p1" , "p2" , "p3" , "p4" , "p5" ,"p6" ,                 "p7" , "p8" , "p9" , "p10" , "p11" ,"p12" ,                 "p13" , "p14" , "p15" , "p16" , "p17" ,"p18" ,                 "p19" , "p20" , "p21" , "p22" , "p23" ,"p24" ,                 "val1" , "val2" , "val3" , "val4" , "val5" ,"val6" ,                 "val7" , "val8" , "val9" , "val10" , "val11" ,"val12" ,                 "val13" , "val14" , "val15" , "val16" , "val17" ,"val18" ,                 "val19" , "val20" , "val21" , "val22" , "val23" ,"val24" ,                 "val1" , "val2" , "val3" , "val4" , "val5" ,"val6" ,                 "val7" , "val8" , "val9" , "val10" , "val11" ,"val12" ,                 "val13" , "val14" , "val15" , "val16" , "val17" ,"val18" ,                 "val19" , "val20" , "val21" , "val22" , "val23" ,"val24"};         string[] shop_items = new string[]{"val1" , "val2" , "val3" , "val4" , "val5" ,"val6" ,                 "val7" , "val8" , "val9" , "val10" , "val11" ,"val12" ,                 "val13" , "val14" , "val15" , "val16" , "val17" ,"val18" ,                 "val19" , "val20" , "val21" , "val22" , "val23" ,"val24" ,                 "val1" , "val2" , "val3" , "val4" , "val5" ,"val6" ,                 "val7" , "val8" , "val9" , "val10" , "val11" ,"val12" ,                 "val13" , "val14" , "val15" , "val16" , "val17" ,"val18" ,                 "val19" , "val20" , "val21" , "val22" , "val23" ,"val24" ,                 "p1" , "p2" , "p3" , "p4" , "p5" ,"p6" ,                 "p7" , "p8" , "p9" , "p10" , "p11" ,"p12" ,                 "p13" , "p14" , "p15" , "p16" , "p17" ,"p18" ,                 "p19" , "p20" , "p21" , "p22" , "p23" ,"p24" ,                 "p1" , "p2" , "p3" , "p4" , "p5" ,"p6" ,                 "p7" , "p8" , "p9" , "p10" , "p11" ,"p12" ,                 "p13" , "p14" , "p15" , "p16" , "p17" ,"p18" ,                 "p19" , "p20" , "p21" , "p22" , "p23" ,"p24"};             arraylist<string> prodcutlist1 = new arraylist<string>();          arraylist<string> vallist1 = new arraylist<string>();              listview simplelist ;     @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);            simplelist = (listview)findviewbyid(r.id.listview1);         init();                 //displaylist();           (int i=0; i<product.length; i++){                vallist1.add(product[i]);               }       }      private void init() {           list_size = shop_items.length;            (int i=0; i<=batch_size; i++){            prodcutlist1.add(shop_items[i]);   //         vallist1.add(product[i]);           }           setlastoffset(batch_size);           displaylist(prodcutlist1);          }           private void setlastoffset(int i) {           mlastoffset = i;           }           private int getlastoffset(){           return mlastoffset;          }           private void displaylist(arraylist<string> prodcutlist1) {            simplelist.setadapter(new demoadapter());          }           private class customarrayadapter extends arrayadapter<string>{            public customarrayadapter(context context, int resource,             int textviewresourceid, list<string> objects) {            super(context, resource, textviewresourceid, objects);           }             @override           public view getview(int position, view convertview, viewgroup parent) {             viewholder holder;               if(convertview==null){              layoutinflater inflater = (layoutinflater)             mainactivity.this.getsystemservice(context.layout_inflater_service);             convertview = inflater.inflate(r.layout.set_aside_items, null);             holder = new viewholder();             holder.word = (textview)convertview.findviewbyid(r.id.producttitle);             holder.world = (textview)convertview.findviewbyid(r.id.price);               convertview.settag(holder);            } else{             holder=(viewholder)convertview.gettag();            }              holder.word.settext(string.valueof(position+1)  + ". " + prodcutlist1.get(position));            holder.world.settext(string.valueof(position+1)  + ". " + vallist1.get(position));             return convertview;           }            public class viewholder{            public textview word , world;                  }           }           class demoadapter extends endlessadapter {            private rotateanimation rotate=null;           private view pendingview=null;           arraylist<string> templist1 = new arraylist<string>();           arraylist<string> templist2 = new arraylist<string>();             demoadapter() {            super(new customarrayadapter(mainactivity.this,              android.r.layout.simple_list_item_1, android.r.id.text1, prodcutlist1));             rotate=new rotateanimation(0f, 360f, animation.relative_to_self,              0.5f, animation.relative_to_self,              0.5f);            rotate.setduration(600);            rotate.setrepeatmode(animation.restart);            rotate.setrepeatcount(animation.infinite);           }            @override           protected view getpendingview(viewgroup parent) {            view row=getlayoutinflater().inflate(r.layout.row, null);             view child=row.findviewbyid(android.r.id.text1);            child.setvisibility(view.gone);            child=row.findviewbyid(r.id.throbber);            child.setvisibility(view.visible);            child.startanimation(rotate);             return(row);           }            @override           protected boolean cacheinbackground() {            templist1.clear();            templist2.clear();             int lastoffset = getlastoffset();            if(lastoffset < list_size){             int limit = lastoffset + batch_size;             for(int i=(lastoffset+1); (i<=limit && i<list_size); i++){              templist1.add(shop_items[i]);              templist2.add(product[i]);               }                setlastoffset(limit);              if(limit<list_size){              return true;             } else {              return false;             }            } else  {             return false;            }           }             @override           protected void appendcacheddata() {             @suppresswarnings("unchecked")            arrayadapter<string> arradapternew1 = (arrayadapter<string>)getwrappedadapter();              @suppresswarnings("unchecked")            arrayadapter<string> arradapternew2 = (arrayadapter<string>)getwrappedadapter();              int listlen = templist1.size();            for(int i=0; i<listlen; i++){             arradapternew1.add(templist1.get(i));  //          arradapternew1.             arradapternew1.add(templist2.get(i));              arradapternew1.notifydatasetchanged();             arradapternew2.add(templist2.get(i));                displaylist(templist1);             } //         }           }            void startprogressanimation() {                 if (pendingview!=null) {                   pendingview.startanimation(rotate);                 }          }            } } 

but code works first ten values there after on scrolling gives following error

05-02 15:24:54.031: e/androidruntime(3001): fatal exception: main 05-02 15:24:54.031: e/androidruntime(3001): java.lang.indexoutofboundsexception: invalid index 11, size 11 05-02 15:24:54.031: e/androidruntime(3001):     @ java.util.arraylist.throwindexoutofboundsexception(arraylist.java:251) 05-02 15:24:54.031: e/androidruntime(3001):     @ java.util.arraylist.get(arraylist.java:304) 05-02 15:24:54.031: e/androidruntime(3001):     @ com.example.smaple_endlessadapter.mainactivity$customarrayadapter.getview(mainactivity.java:145) 05-02 15:24:54.031: e/androidruntime(3001):     @ com.commonsware.cwac.adapter.adapterwrapper.getview(adapterwrapper.java:117) 05-02 15:24:54.031: e/androidruntime(3001):     @ com.commonsware.cwac.endless.endlessadapter.getview(endlessadapter.java:261) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.widget.abslistview.obtainview(abslistview.java:2143) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.widget.listview.makeandaddview(listview.java:1831) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.widget.listview.filldown(listview.java:674) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.widget.listview.fillgap(listview.java:638) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.widget.abslistview.trackmotionscroll(abslistview.java:4930) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.widget.abslistview.scrollifneeded(abslistview.java:3087) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.widget.abslistview.startscrollifneeded(abslistview.java:3032) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.widget.abslistview.ontouchevent(abslistview.java:3357) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.view.dispatchtouchevent(view.java:7246) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2168) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1903) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2174) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1917) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2174) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1917) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2174) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1917) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2174) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1917) 05-02 15:24:54.031: e/androidruntime(3001):     @ com.android.internal.policy.impl.phonewindow$decorview.superdispatchtouchevent(phonewindow.java:1953) 05-02 15:24:54.031: e/androidruntime(3001):     @ com.android.internal.policy.impl.phonewindow.superdispatchtouchevent(phonewindow.java:1405) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.app.activity.dispatchtouchevent(activity.java:2410) 05-02 15:24:54.031: e/androidruntime(3001):     @ com.android.internal.policy.impl.phonewindow$decorview.dispatchtouchevent(phonewindow.java:1901) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.view.dispatchpointerevent(view.java:7426) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewrootimpl.deliverpointerevent(viewrootimpl.java:3220) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewrootimpl.deliverinputevent(viewrootimpl.java:3165) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewrootimpl.doprocessinputevents(viewrootimpl.java:4292) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewrootimpl.enqueueinputevent(viewrootimpl.java:4271) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewrootimpl$windowinputeventreceiver.oninputevent(viewrootimpl.java:4363) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.inputeventreceiver.dispatchinputevent(inputeventreceiver.java:179) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.inputeventreceiver.nativeconsumebatchedinputevents(native method) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.inputeventreceiver.consumebatchedinputevents(inputeventreceiver.java:171) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewrootimpl.doconsumebatchedinput(viewrootimpl.java:4342) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.viewrootimpl$consumebatchedinputrunnable.run(viewrootimpl.java:4382) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.choreographer$callbackrecord.run(choreographer.java:749) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.choreographer.docallbacks(choreographer.java:562) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.choreographer.doframe(choreographer.java:530) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.view.choreographer$framedisplayeventreceiver.run(choreographer.java:735) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.os.handler.handlecallback(handler.java:725) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.os.handler.dispatchmessage(handler.java:92) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.os.looper.loop(looper.java:137) 05-02 15:24:54.031: e/androidruntime(3001):     @ android.app.activitythread.main(activitythread.java:5041) 05-02 15:24:54.031: e/androidruntime(3001):     @ java.lang.reflect.method.invokenative(native method) 05-02 15:24:54.031: e/androidruntime(3001):     @ java.lang.reflect.method.invoke(method.java:511) 05-02 15:24:54.031: e/androidruntime(3001):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:793) 05-02 15:24:54.031: e/androidruntime(3001):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:560) 05-02 15:24:54.031: e/androidruntime(3001):     @ dalvik.system.nativestart.main(native method) 

how can make custom list endless adapter?


Comments

Popular posts from this blog

linux - Does gcc have any options to add version info in ELF binary file? -

android - send complex objects as post php java -

charts - What graph/dashboard product is facebook using in Dashboard: PUE & WUE -