How to implement pagination in Android listview -


i working android app, in need show listview items. there more elements show in listview.

i decided implement pagination . tried searching in google not find related information.

can me please..

implementing pagination simple.

take @ this...

public class mainactivity extends activity {        private listview listview;     private textview title;     private arraylist<string> data;     arrayadapter<string> sd;       public int total_list_items = 1030;     public int num_items_page   = 100;     private int noofbtns;     private button[] btns;      public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          listview = (listview)findviewbyid(r.id.list);         title    = (textview)findviewbyid(r.id.title);          btnfooter();          data = new arraylist<string>();          /*          * arraylist data contains list items          */         for(int i=0;i<total_list_items;i++)         {             data.add("this item "+(i+1));         }          loadlist(0);          checkbtnbackgroud(0);      }      private void btnfooter()     {         int val = total_list_items%num_items_page;         val = val==0?0:1;         noofbtns=total_list_items/num_items_page+val;          linearlayout ll = (linearlayout)findviewbyid(r.id.btnlay);          btns = new button[noofbtns];          for(int i=0;i<noofbtns;i++)         {             btns[i] =   new button(this);             btns[i].setbackgroundcolor(getresources().getcolor(android.r.color.transparent));             btns[i].settext(""+(i+1));              linearlayout.layoutparams lp = new     linearlayout.layoutparams(layoutparams.wrap_content, layoutparams.wrap_content);             ll.addview(btns[i], lp);              final int j = i;             btns[j].setonclicklistener(new onclicklistener() {                  public void onclick(view v)                 {                     loadlist(j);                     checkbtnbackgroud(j);                 }             });         }      }      /**      * method checking button backgrounds      */     private void checkbtnbackgroud(int index)     {         title.settext("page "+(index+1)+" of "+noofbtns);         for(int i=0;i<noofbtns;i++)         {             if(i==index)             {                 btns[index].setbackgrounddrawable(getresources().getdrawable(r.drawable.box_green));                 btns[i].settextcolor(getresources().getcolor(android.r.color.white));             }             else             {                 btns[i].setbackgroundcolor(getresources().getcolor(android.r.color.transparent));                 btns[i].settextcolor(getresources().getcolor(android.r.color.black));             }         }      }      /**      * method loading data in listview      * @param number      */     private void loadlist(int number)     {         arraylist<string> sort = new arraylist<string>();          int start = number * num_items_page;         for(int i=start;i<(start)+num_items_page;i++)         {             if(i<data.size())             {                 sort.add(data.get(i));             }             else             {                 break;             }         }         sd = new arrayadapter<string>(this,                 android.r.layout.simple_list_item_1,                 sort);         listview.setadapter(sd);     } } 

xml file:

<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >  <textview     android:id="@+id/title"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:textcolor="@android:color/black"     android:gravity="center"     android:textsize="16sp"     android:background="@android:color/darker_gray"     android:padding="10dp"/>  <listview     android:id="@+id/list"     android:divider="#000"     android:dividerheight="1dp"     android:cachecolorhint="#00000000"     android:layout_width="fill_parent"     android:layout_height="0dp"     android:layout_weight="1"     android:fadingedge="none"/>  <horizontalscrollview     android:layout_width="fill_parent"     android:layout_height="wrap_content">     <linearlayout         android:id="@+id/btnlay"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:orientation="horizontal" >     </linearlayout> </horizontalscrollview> </linearlayout> 

for more clear explanation , source code visit links

listview pagination ex-1

listview pagination ex-2


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -