1つのListViewをページングする方法

1550 ワード

1.public class NewAdapter extendsなどのカスタムAdapterを作成する
BaseAdapter、対応するメソッドを書き換えます.
2.次のようなページングオブジェクトPageを作成します.
  
 public class Page implements Serializable{
       private int currentPage; //  
        private int totalPage; //  
        private int startIndex; //  , currentPage eachPageCount 
        private int eachPageCount; //   

        public Page(int totalPage,int eachPageCount){this(totalPage,1,eachPageCount);}

       public Page(int totalPage,int currentPage,int eachPageCount){
          this.totalPage = totalPage;
          this.currentPage = currentPage;
          this.eachPageCount = eachPageCount;

          //  
          this.startIndex = (currentPage - 1)*(eachPageCount-1);
       }

//getter setter 
        public int getStartIndex(){
         return (currentPage - 1)*(eachPageCount - 1);
       }

       public int getEndIndex(){
           return startIndex + eachPageCount;
       }
    }

3.NewAdapterクラスにPageオブジェクトフィールドと2つのListオブジェクトnewsListとtempListを追加し、関数を構築する
次のように数えられます.
   
public NewAdapter(Context context,List newsList,int   startIndex){
      this.context = context;
      tempList = newsList;
      //  4 
      page = new Page(newsList.size/3,4);
      this.newsList = newsList.subList(
           page.getStartIndex),page.getEndIndex());
   }